Обработка событий в 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

Надеюсь, это полезно

Другие вопросы по тегам