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 –