wpf - KeyGesture 不接受 Shift+字母数字组合键

标签 wpf keyboard-shortcuts keystroke

我试图在 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/

相关文章:

Javascript 记录击键时间

vim - 在 Vim 中使用 Winkey

keyboard-shortcuts - 在 Citrix 中禁用抓取 alt+tab

c# - 收听键盘快捷键 (c#)

wpf - 强制 TextBlock 在 WPF ListBox 中换行

python - 如何将击键和鼠标移动发送到特定的 PID?

android - 如何从谷歌播放服务获取 android app_id

wpf - 如何使 WPF 资源样式在运行时可切换?

c# - 通过代码将 Eventhandler 添加到 DataTemplate 内的形状

c# - 将图像移动到背景?