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