Ich habe ein Modell, das INotifyPropertyChanged
implementiert und es kann von einem Hintergrund Business-Thread aktualisiert werden. Das dazugehörige ViewModel implementiert auch INotifyPropertyChanged
. Und ihr View bindet offensichtlich an ViewModel. Diese Ansicht kann an mehreren Stellen angezeigt werden, und mein Ziel ist, dass alle aktualisiert werden, wenn sich das Modell ändert.Wenn ein Modell INotifyPropertyChanged implementiert, wie sollte ViewModel das PropertyChanged-Ereignis registrieren/abmelden?
Ich weiß, dass ViewModel für PropertyChanged
Ereignis von Model registrieren sollte. Aber ich weiß nicht wann und wo der beste Ort für diese An- und Abmeldung ist. Speziell über die Deregistrierung, da ich Angst habe, Hunderte von VM-Ereignishandlern auf dem Modell für die VM/Ansichten zu haben, die nicht mehr gezeigt werden.
Vielen Dank im Voraus.
Vielen Dank für Ihre Antwort. Ich denke, es ist notwendig. Da muss ich die Daten des Modells manipulieren, um einfach gebunden und sauber sein zu können. – n0ne
manipulieren Sie die Daten des Modells wo? in der VM? das ist auch nicht wirklich eine gute Übung. Sie sollten die Daten des Modells im Modell manipulieren, wenn dies der Fall ist, oder wenn es sich nur um eine Manipulation für das Rendering von Ansichten handelt, sollte es in einem Konverter sein. – Viv
Ja, ich meinte irgendeine Art von Rendering. Das Rendern ist etwas kompliziert, das ist nicht nur eine einzige Eigenschaft-zu-Eigenschaft-Zuordnung, die ich einen Konverter verwenden kann. – n0ne