如何为 CTRL+' 创建 XAML KeyBinding

How do I create a XAML KeyBinding for CTRL+'

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

<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}"/>

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

撇号的关键代码是OemQuotes。这个语法应该可以解决问题

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

撇号不是键。它是一个最终映射到键的字符,具体取决于输入设备。 OemQuestion 适用于我的键盘:

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

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