У меня есть приложение WPF, которое следует за шаблоном MVVM. Мне нужно реализовать быстрые клавиши. Эти ярлыки должны контролировать поведение управления WebBrowser. Я определил первую пользовательскую команду и добавил для просмотра inputbindings. Там будет гораздо больше команд, и им придется вызывать скрипты в браузере:
MainWindow.xaml.cs:
...
CommandBinding cb = new CommandBinding(RemoteControlCommands.TestCommand, MyCommandExecuted, MyCommandCanExecute);
this.CommandBindings.Add(cb);
KeyGesture kg = new KeyGesture(Key.Q, ModifierKeys.Control);
InputBinding ib = new InputBinding(RemoteControlCommands.TestCommand, kg);
this.InputBindings.Add(ib);
}
private void MyCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
webBrowser.InvokeScript("foo", "Hello World!");
}
private void MyCommandCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
Мой вопрос заключается в том, как поместить это в pvp MVVM? MVVM - это новое понятие для меня, но я понимаю, как связать команду view, чтобы просмотреть модель и там выполнить методы или изменить свойства. Однако в этом случае мне нужно выполнить метод управления в представлении. Какое лучшее место для обработки ярлыков в этом сценарии?