Mam model, który implementuje INotifyPropertyChanged
i może zostać zaktualizowany przez wątek biznesowy tła. Związany z nim ViewModel również implementuje INotifyPropertyChanged
. Ich widok oczywiście wiąże się z ViewModel. Ten widok może być wyświetlany w wielu miejscach, a moim celem jest, aby wszystkie zostały zaktualizowane po zmianie modelu.Jeśli model implementuje INotifyPropertyChanged, jak powinien rejestrować/wyrejestrować ViewModel dla zdarzenia PropertyChanged?
Wiem, że ViewModel powinien zarejestrować się na PropertyChanged
wydarzenie Model. Ale nie wiem, kiedy i gdzie jest najlepsze miejsce na rejestrację i deregistrację. Szczególnie o wyrejestrowaniu, ponieważ obawiam się, że setki mechanizmów obsługi zdarzeń VM w Modelu dla VM/widoków, które nie są już pokazywane.
Z góry dziękuję.
Dzięki za odpowiedź. Myślę, że to konieczne. Ponieważ muszę manipulować danymi modelu, aby móc być związanymi łatwo i czysto. – n0ne
manipulować danymi modelu gdzie? w VM? to też nie jest dobra praktyka. Powinieneś manipulować danymi Modelu w Modelu, jeśli tak, lub jeśli jest to manipulacja dla renderowania Widoku, powinna być w Konwerterze. – Viv
Tak, chodzi mi o jakiś widok renderujący coś w rodzaju. Renderowanie jest dość skomplikowane, co nie jest tylko pojedynczym mapowaniem właściwości do obiektu, z którego mogę korzystać z konwertera. – n0ne