我正在尝试在RoutedUICommand上设置InputGesture,将其挂钩以在用户按下Ctrl =时捕获.我正在使用KeyGesture对象,但我无法在System.
Windows.Input.Key枚举中看到equals(‘=’)键的条目.
我期待的是能够做到以下几点:
ZoomIn = new RoutedUICommand("Zoom In","ZoomIn",typeof(Window),new InputGestureCollection { new KeyGesture(Key.Equals,ModifierKeys.Control) });
有人能指出我正确的方向吗?
正如克里斯夫所指出的那样,我需要让我的大脑有点活跃.对于它的价值,处理KeyDown事件时生成的值是Key.OemPlus.
更新:
这样做的一个结果是,如果你和我做同样的事情并且你将在菜单中使用该命令,你可能想要使用重载的构造函数来获取带有displayString的第3个参数的KeyGesture.例如:
new KeyGesture(Key.Equals,ModifierKeys.Control,"Ctrl+=")
否则,您将看到键盘快捷键显示为(在我的情况下)“Ctrl OemPlus”,这不是完全合乎需要的.不可否认,上面仍然不是很好,但它比“OemPlus”更好.