2010-11-09 61 views
4

我有一個KeyBinding,將Key設置爲D1,它是1鍵。這與NumPad1鍵不一樣。
是否有辦法有類似:WPF KeyBinding Key可以有多個值

Key="D1 && NumPad1" 
+1

我已經爲每個鍵D1和NumPad1添加了第二個KeyBinding,但似乎應該有更好的方法。 – Queso 2010-11-09 18:09:18

回答

4

不,你不能這樣做。

+2

我不是一個答案的粉絲 - 但我能做什麼,我只是一個程序員。 :) – Queso 2010-11-10 20:31:31

+0

是的你可以:) ___________ – 2013-08-21 01:58:30

6

是的,你可以 - 逗號分隔 :-)

我不能肯定,如果在這個問題你要使用兩個鍵綁定,以表明用戶必須按鍵兩次。但那正是我所期待的。如果這就是這個原因,那麼這篇文章將起作用。

例如,我想用+來前進,並++要仔細去進和 - 去 - 回 - 去雙早在我的應用程序:

<KeyBinding Key="OemMinus" Modifiers="Control" Command="{Binding GoBack}"/> 
<KeyBinding Key="OemMinus,OemMinus" Modifiers="Control" Command="{Binding GoBack2X}"/> 

我想明白的原因是,我知道VisualStudio中有很多命令有雙鍵,如註釋或摺疊區域。你知道VS2010是用WPF編寫的。所以我看了VS菜單,並有很多命令逗號分隔: 查看>解決方案導航Cntr + W,樓 我試過了,它的工作!

+1

任何想法如何在代碼隱藏而不是XAML做到這一點? – user1151923 2014-12-04 15:17:51

+0

我試過這個,但是發生的一切就是我的等價GoBack被調用兩次,我錯過了什麼? – 2015-11-16 09:25:45

+1

這在Visual Studio中不起作用Ctrl + W,F等效於Ctrl + W,Ctrl + F,其中答案中提供的代碼將簡單地將逗號分隔符的最後一個值設置爲實際快捷鍵。例如,如果上面的代碼定義了Key =「K,OemPlus」,那麼該快捷方式簡單等價於Key =「OemPlus」,原因是該Key是隻接受單個值的Enumeration。 – Ahmad 2016-01-04 16:40:12