4 ответов:
в документации указано, что вы можете просто отделить модификаторы с помощью
+символ:<KeyBinding Modifiers="Ctrl+Shift" Key="S" Command="{Binding SaveCommand}" />посмотреть здесь для кровавых деталей, с соответствующими битами, извлеченными ниже, если ссылка когда-либо исчезнет:
XAML
<object property="oneOrMoreModifierKeys"/>значения XAML
oneOrMoreModifierKeys- одна или несколько клавиш-модификаторов, определяемыхModifierKeysперечисление, разделенное символом+характер.
вы также можете использовать жест сам по себе, а не комбинацию клавиш / модификаторов:
<KeyBinding Gesture="Ctrl+Shift+S" Command="{Binding SaveCommand}" />согласно той же ссылке документации:
при определении привязки ключей в XAML существует два способа указать KeyGesture.
первый способ установить привязку ключей в XAML-это определить атрибут жеста элемента привязки ключей, который позволяет синтаксису указывать ключи и модификаторы в виде одной строки, для пример "CTRL+P".
второй способ заключается в определении ключевого атрибута и атрибутов модификаторов элемента KeyBinding.
оба способа установки KeyGesture эквивалентны и изменяют один и тот же базовый объект, но при использовании обоих будет конфликт. В случае, когда ключ, модификаторы и атрибуты жеста все установлены, атрибут, который определен последним, будет использоваться для KeyGesture.
<KeyBinding Command="{Binding SaveCommand}" Gesture="Ctrl+Shift+S" />смотрите документацию MSDN, Класс Привязки Клавиш.
Я знаю, что вопрос для XAML, но вот пример, если вы хотите сделать это в коде (несколько ModifierKeys могут быть указаны с помощью логического ИЛИ):
new KeyBinding( SaveCommand, Key.S, ModifierKeys.Control | ModifierKeys.Shift )
здесь код для реализации нескольких символов сочетания клавиш, таких как Alt + P + A в WPF MVVM.
добавьте это в ваш XAML (прикрепленное поведение для события KeyDown):
cb:ShortCutBehavior.Command="{Binding Shortcuts.CmdKeyPressed}"добавьте это в свою модель представления:
ShortCuts Shortcuts = new ShortCuts( this ); //Add Plenty of shortcuts here until your heart is desired Shortcuts.AddDoubleLetterShortCut( AddOrganization, Key.P, Key.A, ModifierKeys.Alt, true); Shortcuts.AddSingleLetterShortCut( CmdAddNewAgreement, Key.A, ModifierKeys.Alt);Это два примера добавления ярлыков. Первый-это ярлык с двумя буквами: Alt + P + A который запускает метод AddOrganization (), а второй-это однобуквенный ярлык: Alt + A который выполняет ICommand CmdAddNewAgreemnt.
оба Addoublelettershortcut и AddSingleLetterShortCut перегружены для принятия действий или ICommands.
Comments