2012-08-22 77 views
1

我想創建我的自定義命令並將其掛接到某個鍵。 我在代碼中使用KeyGesture behing爲此目的,並在構造函數中我看到,我可以通過只需一個鍵(無modifierKey),但在運行時我得到異常,說:KeyGesture不支持只有一個密鑰

"'None + Q' key and modifier combination is not supported for KeyGesture" 

我只是不理解爲什麼只有一個鍵有構造函數,但我仍然需要設置修飾鍵組合,以避免發生異常。

+0

不是重複的(因爲此問題具體詢問KeyGestures),但下面的答案將有助於在大多數使用情況下(通過不使用KeyGestures)繞過此問題:http://stackoverflow.com/a/8251097/4961688 –

回答

0

MSDN粘貼:

在大多數情況下,必須KeyGesture與一種或多種 ModifierKeys相關聯。此規則的例外是功能鍵和數字小鍵盤按鍵,它們本身可以是有效的KeyGesture 。

「正常」鍵的問題是區分實際按鈕和快捷鍵。例如,如果你有一個文本框,你不能使用帶有手勢Q的命令來執行與插入字符Q不同的操作。如果你想使用KeyDown/Up命令和你自己的命令調用。

+0

沒有考慮過這個文本框:)。你是對的,這真的讓感覺:)感謝您的答案! –

+0

你的意思是KeyDown/Up事件?我找不到這樣的命令。 – ProfK

+1

錯誤,downvoted。解決方案在這裏:http://stackoverflow.com/questions/8251043/create-a-simple-unmodified-key-binding-in-wpf – Benlitz

相關問題