1
我可以用一鍵快捷鍵製作WPF應用程序嗎?到處都是用修飾符製作熱鍵的教程,如:[Alt] + [X]。例如,我需要製作全球熱鍵[F9]。我怎樣才能在C#.NET 4.5中做到這一點?WPF Hotkey一鍵,無修飾鍵
我可以用一鍵快捷鍵製作WPF應用程序嗎?到處都是用修飾符製作熱鍵的教程,如:[Alt] + [X]。例如,我需要製作全球熱鍵[F9]。我怎樣才能在C#.NET 4.5中做到這一點?WPF Hotkey一鍵,無修飾鍵
是的,你可以。當您創建命令對象時,您可以傳遞的其中一個東西是InputGestureCollection
,其中包含從InputGesture
類下降的對象列表。其中一個類是KeyGesture
類,它定義了用於激活命令的特定鍵序列。
KeyGesture
類的其中一個屬性是Key
property, of type Key
。這是關鍵值的枚舉。你想要的是Key.F9
。
要創建命令,你做這樣的事情:
InputGestureCollection myCommandGestures = new InputGesturecollection();
myCommandGestures.Add(new KeyGesture(Key.F9);
RoutedCommand MyCommand = new RoutedCommand("MyCommand", typeof(MyViewModelClass), myCommandGestures);
編輯
內唯一WPF上述作品。如果你想要一個全局熱鍵,你必須調用Win32 RegisterHotKey
函數。 The answer to this question on the Visual Studio forum包含指向如何做到這一點的示例的鏈接。
我不確定您是否必須執行這兩個操作,或者只需撥打RegisterHotKey
函數來註冊您的熱鍵。
謝謝你,現在有用:)如果我現在有一個熱鍵,我可以註冊爲全球熱鍵嗎?當我的應用程序最小化到托盤時,我需要從每個窗口捕捉F9。 – Tagon