如何定义双键快捷方式?
问题描述:
一个可限定在WPF的快捷方式与如何定义双键快捷方式?
<KeyBinding Key="N" Modifiers="Control" Command="local:CustomCommands.MyCommand"/>
快捷CTRL + N
现在定义。
问题:也可以定义像Visual Studio 2012这样的双键快捷键使用它吗?
示例:CTRL + R, A
用于执行所有单元测试。
答
将手势与键配合使用而不是修饰符。按照MSDN:
当定义在可扩展应用程序标记语言 (XAML)一个键绑定有指定KeyGesture两种方式。 在XAML中建立KeyBinding的第一种方式是定义了KeyBinding元素的的Gesture属性,该元素使语法可以将修饰符指定为单个字符串,例如“CTRL + P”。第二种方法是 来定义KeyBinding元素的Key属性和Modifiers属性。
<KeyBinding Gesture="Control+R" Key="A"
Command="local:CustomCommands.MyCommand"/>
这将在情况下执行MyCommand
Ctrl+R,A
组合使用。
+0
你确定这只适用于确切的序列吗?从同一个MSDN页面:“你可能会遇到这样的情况,例如Key set last将只覆盖前一个Gesture的Key组件,但让手势的修改器保持不变。” – jnovo
我最初错过了一点,你需要多个键,而不是修饰符。这可以完成,但不容易。 [这是一篇文章](http://kentb.blogspot.com/2009/03/multikeygesture.html),它会引导你完成它。 –