Обработка событий в MVVM
В MVVM Model обычно будет иметь модель данных, представление - это UI (XAML), которое дополнительно привязано к свойствам VM, ViewModel, которая обычно наследует INotifyPropertyChanged.
Когда дело доходит до обработки событий, есть ли какой-то определенный шаблон для обработки всех событий в пользовательском интерфейсе? Например: скажем, если у нас есть кнопка сохранения / нового / закрытия или какая-то другая кнопка... и желаемая цель - когда пользователь выполняет какую-либо операцию и нажимает на любую из кнопок, элемент управления должен перейти к коду позади и выполнить желаемую операцию.... как мне убедиться, что я правильно обработал событие? и какой интерфейс я должен использовать / когда и как?
как у нас есть интерфейс ICommand / команда ретрансляции / команда делегата... мне не ясно с этим..
Заранее спасибо за ваш ответ на мой запрос...
1 ответ
Амит, если вы планируете подключить кнопки, приемлемым способом является использование реализации ICommand (мое личное предпочтение - RoutedCommand). Если вы хотите создавать и обрабатывать события, взгляните на агрегаторы событий, основанные на шаблоне издателя / подписчика.
При этом вы зарегистрируете метод (обработчик сообщений) для "прослушивания" сообщения (события), которое соответствует шаблону. Как только вы это сделаете, вы можете поднять / опубликовать сообщения (события), и когда совпадение будет найдено, правильный обработчик будет поднят
Корпорация PRISM от Microsoft проделала хорошую работу по внедрению шаблона агрегирования событий
http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx
Надеюсь, это полезно