2013-08-14 5 views
1

Я думаю, я все еще немного туманно о том, как общение идет в MVVM. Я читал, что вы не должны использовать события для связи с viewmodel, поэтому я предполагаю, что вы отправляете команду.MVVM в WPF, как общаться с viewmodel

Однако команды фактически пузырятся внутри визуального дерева (вид), правильно? поэтому он может достичь некоторого целевого элемента управления, который может обрабатывать команду. У этого целевого элемента управления есть viewmodel, который может модифицировать модель?

Извините, я очень смущен тем, как получить команды от представления к модели. Я предполагаю, что получение информации по-другому - это просто вопрос о том, что модель реализует Inotifypropertychanged, чтобы сообщить модели viewmodel, что она была изменена, а затем реализовать реализацию viewmodel inotifypropertychanged, чтобы представление могло привязываться к viewmodel и обновлять свойства.

http://blogs.msdn.com/blogfiles/erwinvandervalk/WindowsLiveWriter/ImplementingtheModelViewViewModelpattern_D996/image_14.png

ответ

2

Не все команды пузыря - это те RoutedUICommands, которые являются лишь конкретной реализацией интерфейса ICommand представленного структуры. Вы можете реализовать свои собственные объекты ICommand, которые имеют настраиваемое поведение и действуют так же, как и обычные объекты (без барботирования, туннелирования). Если вы создадите их в своей модели ViewModel, некоторые объекты View, такие как кнопки и MenuItems, могут напрямую связываться с ними через их свойства «Command».

Смежные вопросы