我想創建我的自定義命令並將其掛接到某個鍵。 我在代碼中使用KeyGesture behing爲此目的,並在構造函數中我看到,我可以通過只需一個鍵(無modifierKey),但在運行時我得到異常,說:KeyGesture不支持只有一個密鑰
"'None + Q' key and modifier combination is not supported for KeyGesture"
我只是不理解爲什麼只有一個鍵有構造函數,但我仍然需要設置修飾鍵組合,以避免發生異常。
我想創建我的自定義命令並將其掛接到某個鍵。 我在代碼中使用KeyGesture behing爲此目的,並在構造函數中我看到,我可以通過只需一個鍵(無modifierKey),但在運行時我得到異常,說:KeyGesture不支持只有一個密鑰
"'None + Q' key and modifier combination is not supported for KeyGesture"
我只是不理解爲什麼只有一個鍵有構造函數,但我仍然需要設置修飾鍵組合,以避免發生異常。
從MSDN粘貼:
在大多數情況下,必須KeyGesture與一種或多種 ModifierKeys相關聯。此規則的例外是功能鍵和數字小鍵盤按鍵,它們本身可以是有效的KeyGesture 。
「正常」鍵的問題是區分實際按鈕和快捷鍵。例如,如果你有一個文本框,你不能使用帶有手勢Q的命令來執行與插入字符Q不同的操作。如果你想使用KeyDown/Up命令和你自己的命令調用。
不是重複的(因爲此問題具體詢問KeyGestures),但下面的答案將有助於在大多數使用情況下(通過不使用KeyGestures)繞過此問題:http://stackoverflow.com/a/8251097/4961688 –