В приложении WPF MVVM мне нужно запускать команду при нажатии CTRL + '(управление и апостроф). Ничто из следующего не скомпилируется ...
<KeyBinding Modifiers="CTRL" Key="'" Command="{Binding MyCommand}"/>
<KeyBinding Modifiers="CTRL" Key="\'" Command="{Binding MyCommand}"/>
<KeyBinding Modifiers="CTRL" Key="'" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+'" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+'" Command="{Binding MyCommand}"/>
<KeyBinding Gesture="CTRL+\'" Command="{Binding MyCommand}"/>
Так как же достичь этой комбинации клавиш?
1
ifinlay
17 Дек 2019 в 22:00
2 ответа
Лучший ответ
Апостроф не является ключом. Это символ, который в конечном итоге сопоставляется клавише в зависимости от устройства ввода. OemQuestion
работает на моей клавиатуре:
<KeyBinding Modifiers="CTRL" Key="OemQuestion" Command="{Binding MyCommand}"/>
... но вам лучше обработать событие PreviewTextInput
, если вы действительно хотите определить, когда введен апостроф:
Как определить, когда (OEM) клавиша косой черты нажата в клавишах OEM C #
1
mm8
18 Дек 2019 в 10:39
Код ключа для апострофа - OemQuotes. Этот синтаксис должен сделать свое дело
<KeyBinding Command="{Binding Command}"
Modifiers="CTRL" Key="OemQuotes" />
0
zaphod-ii
17 Дек 2019 в 19:16
Похожие вопросы
Связанные вопросы
Новые вопросы
wpf
Windows Presentation Foundation, или WPF, является подсистемой для визуализации пользовательских интерфейсов в приложениях на основе Windows.