首页 > 解决方案 > 如何为 CTRL+' 创建 XAML 键绑定

问题描述

在 WPF MVVM 应用程序中,我需要在按下 CTRL+'(控制和撇号)时触发命令。以下都不会编译...

<KeyBinding Modifiers="CTRL" Key="'" Command="{Binding MyCommand}"/>
<KeyBinding Modifiers="CTRL" Key="\'" Command="{Binding MyCommand}"/>
<KeyBinding Modifiers="CTRL" Key="&apos;" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+'" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+&apos;" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+\'" Command="{Binding MyCommand}"/>

那么如何实现这个组合键呢?

标签: wpfxamlkey-bindingsapostrophe

解决方案


撇号不是键。它是一个字符,最终根据输入设备映射到一个键。OemQuestion在我的键盘上工作:

<KeyBinding Modifiers="CTRL" Key="OemQuestion"  Command="{Binding MyCommand}"/>

PreviewTextInput...但是如果您真的想检测何时输入了撇号,则最好处理该事件:

如何检测在 OEM 键 C# 中何时按下(正向)斜杠键


推荐阅读