Мне нужна команда из моей модели представления, связанная с F8, и я не очень разбираюсь в жестах ввода.Должен ли я обернуть его в перенаправленной команде или есть другой рекомендуемый способ сделать это?
Приветствия,
Berryl
ОБНОВЛЕНИЕ
Моя оригинальная публикация действительно имела две болевые точки.Первая заключалась в том, что до WPF 4 нельзя было связать команду непосредственно с жестом ввода или рассчитывать на визуальное наследование для DataContext команды, и ей пришлось пройти через слой CommandManager.Это похоже на то, что CommandReference MVVM Toolkit, на который указывал NVM, был полезен, но теперь в WPF 4 это исправлено, так как Command является присоединенным DP на InputBinding, поэтому все, что вам нужно сделать, это что-то вроде:*
Вторая болевая точка, которую нужно осознать, заключается в том, что привязка входного жеста к команде отличается от привязки текстового представления этого жеста к элементу меню.Поэтому мне нужно сделать что-то вроде:
<MenuItem Header="{x:Static s:Strings.MyHeaderString}" Command="{Binding MyViewModel.MyCommand}"
InputGestureText="F8"/>
Я изложил это в надежде, что кто-то скажет мне, что я что-то не так (или правильно).Если предположить, что это лучшее, что вы можете сделать, то это зависит от того, сколько СУХОСТИ вы можете получить и как это сделать, не допуская строго визуальных элементов в ваших ViewModels.Вы могли бы сделать это, либо имея некоторые свойства в своей Команде (например, KeyGesture, KeyModifier), либо, если я полагаю, иметь "F8" в файле ресурсов, в зависимости от того, сколько вам нужно что-то повторно использовать и вашей точки зрения.Кроме того, сколько жестов ввода у вас есть для команды!