WPF KeyGestures - 绑定非字母数字键

时间:2010-07-29 19:54:28

标签: wpf keyboard-shortcuts

应该是一个简单的,但我无法弄清楚如何做到这一点。使用WPF4我想绑定 Ctrl + - 缩小, Ctrl + = 放大:

    <KeyBinding Command="{Binding Content.ZoomInCommand}" Gesture="Ctrl+="/>
    <KeyBinding Command="{Binding Content.ZoomOutCommand}" Gesture="Ctrl+-"/>

但是,我遇到错误:在 Ctrl + = 的情况下:

  

未找到请求值'='。

有什么想法吗?

2 个答案:

答案 0 :(得分:8)

好的 - 事实证明 = 键不存在(您可以通过Key - 枚举检查 - Equal 没有条目或 EqualSign )...我使用的是国际键盘,所以你必须找到你输入的键序列 = (对我而言,它是 Shift + D0 - 并使用该键序列。

所以你的XAML应该是(在丹麦):

<KeyBinding Command="{Binding Content.ZoomInCommand}" Gesture="Ctrl+Shift+D0"/>
编辑:我相信一个美国系统它是OemPlus键 - 但你可以通过控制台写入来检查它在关键事件处理程序中的e.Key参数)

EDIT2:我的系统上的 - 键是OemMinus

答案 1 :(得分:8)

提示德语键盘的用户(可能还有其他一些国家/地区):

小键盘“+”和“ - ”是“添加”和“减去”

普通键“+”和“ - ”是“OemPlus”和“OemMinus”

所以

<KeyBinding Gesture = "OemPlus" Command="myCommand" />
如果按主键盘上的“+”,

将触发命令。