RoutedUICommand против ICommand в ViewModel и с использованием InputBinding

Базовым реализациям интерфейса ICommand, таким как DelegateCommand и RelayCommand, отсутствует свойство InputGestures, содержащееся в классе RoutedCommand. Это свойство поддерживает привязку к KeyGesture, а свойство Text в RoutedUICommand поддерживает установку заголовка элемента управления. Например:


  

Результатом является пункт меню с надписью: «Открыть Ctrl + O» в пункте меню «Файл». Для жестов InputBindings сопоставит входную гостевую среду с командой, но вы потеряете поддержку InputGestureText.

Как можно сохранить простоту привязки к ICommands модели представления при определении KeyGestures и текста для команд внутри XAML или модели представления? Например, я хотел бы, чтобы команда, представленная в контекстном меню и в главном меню, отображала тот же заголовок и InputGestureText, поддерживаемые RoutedUICommand, но реализация команды находится внутри модели представления, а не внутри кода окна позади.

5
задан Community 23 May 2017 в 12:03
поделиться