Как видно из заголовка, я ищу способ назначения сочетаний клавиш от пользователя во время выполнения, используя шаблон WPF MVVM.Я знаю, что я могу определить сочетания клавиш при запуске следующим образом:
<Window.InputBindings>
<KeyBinding Command="{Binding MyCommand}" Key="A"/>
</Window.InputBindings>
Я также видел, что есть способ анализировать привязки ввода от пользователя .Однако я борюсь с тем, чтобы связать inputbinding из моей ViewModel с InputBinding MainWindow.Я не знаю, как этого добиться.Вот код в моем MainWindow:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
}
А вот пример кода из моей ViewModel:
public partial class MainWindowViewModel : Window, INotifyPropertyChanged
{
public MainWindowViewModel()
{
KeyBinding kb = new KeyBinding { Key = Key.T, Command = MyCommand };
this.InputBindings.Add(kb);
}
}
Я знаю, что часть this.InputBindings.Add(kb);
, вероятно, должна быть заменена чем-то другим;вместо этого добавляем связывание клавиш в InputBinding MainWindow.Тем не менее, я не знаю, как это сделать с шаблоном MVVM.Поэтому: как бы я поступил так?