2014-01-20 57 views
5

一个可限定在WPF的快捷方式与如何定义双键快捷方式?

<KeyBinding Key="N" Modifiers="Control" Command="local:CustomCommands.MyCommand"/> 

快捷CTRL + N现在定义。

问题:也可以定义像Visual Studio 2012这样的双键快捷键使用它吗?

示例:CTRL + R, A用于执行所有单元测试。

+0

我最初错过了一点,你需要多个键,而不是修饰符。这可以完成,但不容易。 [这是一篇文章](http://kentb.blogspot.com/2009/03/multikeygesture.html),它会引导你完成它。 –

回答

2

将手势与键配合使用而不是修饰符。按照MSDN

当定义在可扩展应用程序标记语言 (XAML)一个键绑定有指定KeyGesture两种方式。 在XAML中建立KeyBinding的第一种方式是定义了KeyBinding元素的的Gesture属性,该元素使语法可以将修饰符指定为单个字符串,例如“CTRL + P”。第二种方法是 来定义KeyBinding元素的Key属性和Modifiers属性。

<KeyBinding Gesture="Control+R" Key="A" 
      Command="local:CustomCommands.MyCommand"/> 

这将在情况下执行MyCommandCtrl+R,A组合使用。

+0

你确定这只适用于确切的序列吗?从同一个MSDN页面:“你可能会遇到这样的情况,例如Key set last将只覆盖前一个Gesture的Key组件,但让手势的修改器保持不变。” – jnovo