У меня есть приложение, использующее MVVM. Я пытаюсь перехватить нажатия клавиш на пульте дистанционного управления MCE для воспроизведения, паузы, остановки и т. Д. В настоящее время я использую привязки команд с помощью метода в коде, который выполняет соответствующее действие на медиа-элементе как таковойЕсть ли лучший способ, чем обработка CommandBindings в коде?
<Window.CommandBindings>
<CommandBinding Command="MediaCommands.Play" Executed="PlayMediaElement"/>
<CommandBinding Command="MediaCommands.Stop" Executed="StopMediaElement"/>
</Window.CommandBindings>
Прежде чем пытаться включить функциональность пульта дистанционного управления, у меня было около 10 моделей-представлений/представлений, в которых ничего не осталось. Мне интересно, есть ли лучший способ сделать это, поэтому я сохраняю шаблон MVVM или это вполне приемлемо/предпочтительнее реализовать таким образом.
EDIT - Я переместил командные привязки из UserControl внутри представления в свой MainWindow.xaml и разместил методы в MainWindow.xaml.cs. У MainWindow нет отношения view/viewmodel, просто элемент управления содержимым с привязкой к нему ViewModel. В моем коде за методами я использую посредник для отправки сообщений (Play, Pause, Stop и т. Д.) В мою среду mediaplayerview, которая, в свою очередь, взаимодействует с соответствующим видом. Это хорошая идея или есть лучший способ?
[Как найти источник ошибки привязки?] (Http://stackoverflow.com/a/8480651/485076) – sll