У меня есть модель, которая реализует INotifyPropertyChanged
и может быть обновлена фоновой деловой нитью. Связанный с ним ViewModel также реализует INotifyPropertyChanged
. И их вид явно привязывается к ViewModel. Этот вид может отображаться во многих местах, и моя цель состоит в том, чтобы все они обновлялись при изменении модели.Если модель реализует INotifyPropertyChanged, как должен ViewModel регистрировать/отменять регистрацию для события PropertyChanged?
Я знаю, что ViewModel должен зарегистрироваться для события PropertyChanged
модели. Но я не знаю, когда и где лучшее место для регистрации и отмены регистрации. Специально об отмене регистрации, так как я боюсь иметь сотни обработчиков событий VM на модели для виртуальных машин/представлений, которые больше не отображаются.
Заранее благодарен.
Спасибо за ваш ответ. Думаю, это необходимо. Поскольку я должен манипулировать данными Модели, чтобы быть связанными легко и чисто. – n0ne
управляют данными Модели, где? в ВМ? это тоже не очень хорошая практика. Вы должны манипулировать данными Модели в Модели, если это так, или если это манипуляция только для рендеринга View, она должна быть в конвертере. – Viv
Да, я имел в виду некоторый взгляд на визуализацию. Отрисовка довольно сложна, и это не просто одно свойство сопоставления свойств, которое я могу использовать в конвертере. – n0ne