Я пытаюсь создать очень простое приложение WPF.Я хотел бы, чтобы обработчик команд вызывался, когда пользователь нажимает «H» (не Control-H или Alt-H, просто H).Если я использую следующее в коде с выделенным кодом:
var gesture = new KeyGesture(Key.H, ModifierKeys.None);
var inputBinding = new InputBinding(MyRoutedCommand, gesture);
InputBindings.Add(inputBinding);
, я немедленно получаю исключение о том, что комбинация клавиш и модификаторов не поддерживается для KeyGesture.
(я получаю то же самоеисключение, если я создаю XAML для аналогичных действий).
Мое приложение не принимает типизированный ввод, в приложении нет текстовых полей, поэтому на самом деле нет конфликта с текстом (по крайней мере, впо моему мнению).Я бы не подумал, что это было бы так необычно.
Я видел комментарии в других местах, которые предлагают, чтобы я мог создать собственный элемент управления для этого или перехватывать нажатия клавиш на низком уровне, но они кажутсямного накладных расходов.Есть более простые мысли?