KeyGesture不支持只有一个密钥

问题描述:

我想创建我的自定义命令并将其挂接到某个键。 我在代码中使用KeyGesture behing为此目的,并在构造函数中我看到,我可以通过只需一个键(无modifierKey),但在运行时我得到异常,说:KeyGesture不支持只有一个密钥

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

我只是不理解为什么只有一个键有构造函数,但我仍然需要设置修饰键组合,以避免发生异常。

+0

不是重复的(因为此问题具体询问KeyGestures),但下面的答案将有助于在大多数使用情况下(通过不使用KeyGestures)绕过此问题:http://*.com/a/8251097/4961688 –

MSDN粘贴:

在大多数情况下,必须KeyGesture与一种或多种 ModifierKeys相关联。此规则的例外是功能键和数字小键盘按键,它们本身可以是有效的KeyGesture 。

“正常”键的问题是区分实际按钮和快捷键。例如,如果你有一个文本框,你不能使用带有手势Q的命令来执行与插入字符Q不同的操作。如果你想使用KeyDown/Up命令和你自己的命令调用。

+0

没有考虑过这个文本框:)。你是对的,这真的让感觉:)感谢您的答案! –

+0

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

+1

错误,downvoted。解决方案在这里:http://*.com/questions/8251043/create-a-simple-unmodified-key-binding-in-wpf – Benlitz