我试图在 WPF KeyGesture
的帮助下执行一些 WPF 命令类(class)。应用程序工作正常,直到我指定一个由 Shift 修饰符和一个字母数字键组成的组合键。例如,以下实例化:new KeyGesture(Key.M, ModifierKeys.Shift)
抛出异常:
'Shift+M' key and modifier combination is not supported for KeyGesture.
裸 Shift 修饰符也不适用于数字(例如 Shift + 2)。但是,Shift + Insert 或 Shift + F1 组合可以完美运行。明确地说,Shift + Ctrl、Shift + Alt 或 Alt + 1 等没有问题。
为什么决定禁止 Shift + [字母数字] 手势?它与输入大写字母有什么共同点吗?是否有与 WPF 命令系统一致的解决方法?
(注意:我不是在填充文本框时尝试使用 Shift + M 手势,而是在 没有 文本框处于焦点时使用。)
我似乎只找到一个论坛条目,其中提出了这个问题。文档搜索失败。开发人员避免使用 Shift + [字母数字] 是否如此明显?
最佳答案
请参阅 SO 8251043 - 基本上它不再是“手势”,而是键绑定(bind)
Create a simple, unmodified key binding in WPF
关于wpf - KeyGesture 不接受 Shift+字母数字组合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3466288/