2014-01-20 74 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