Я использую MVVM, и я хотел бы общаться между viewmodels.У меня есть пользовательский элемент управления, который содержит другой пользовательский элемент управления внутри него, и я хотел бы, чтобы родительский пользовательский элемент управления запускал некоторый код при изменении свойства в дочернем элементе.Я видел несколько способов обмена данными между моделями представления, например, используя MVVM Light Messenger или PRISM Event Aggregator, но я надеялся, что есть какой-то способ сделать это, просто подписавшись на событие PropertyChanged
, вызванное реализацией INotifyPropertyChanged
.
Ответ Мэтта Хэмилтона есть в этой записи , но у меня возникли проблемы с его реализацией, поскольку для него требуется объект DependencyObject, а мои ViewModels являются POCO, а не DO *есть какой-то способ использования системы INotifyPropertyChanged
, так как я бы предпочел не использовать систему обмена сообщениями.Если нет, то лучше ли использовать систему обмена сообщениями?Я также видел пример, когда какой-то парень просто использовал код позади представления, чтобы помочь передать свойство, однако я не хочу нарушать шаблон MVVM, так как я хочу провести некоторое тестирование на более позднем этапе.