Ok, Also bin ich in meinem letzten Nicht-Arbeitsprojekt ins Stocken geraten, versuche WPF zu benutzen. Ich bin einfach verärgert über Datenbindung. Ich dachte, es sollte Dinge einfacher machen, indem man Daten direkt an die Benutzeroberfläche bindet. Aber je mehr ich darüber lerne, dass ich INotifyPropertyChanged implementieren muss, um Dinge zu veranlassen, die Benutzeroberfläche zu benachrichtigen, wenn sie sich geändert haben, scheint die ganze Sache produktiv zu machen.Macht WPF Databinding mehr Mühe, als es wert ist?
Fehle ich etwas? Es scheint ein Haufen Arbeit zu sein, und die Klassen INotifyPropertyChanged implementieren zu lassen scheint eine fischige Art zu sein, Databinding zum Laufen zu bringen.
Was fehlt mir? Ich muss etwas verpassen. Bitte erläutern Sie mir, wie man Databinding einfach oder zumindest einfach macht.
Also jedes Mal, wenn sich eine Eigenschaft einer Klasse ändert, müssen wir das PropertyChanged-Ereignis auslösen? Das scheint langweilig. Was, wenn wir nicht einmal den Code für die Klasse haben, an die wir binden wollen? Wird das nicht unordentlich? –
GordonG, hier ist das Model-View-ViewModel-Muster sehr zu empfehlen. Ihr ViewModel (mittlere Ebene) behandelt dies im Wesentlichen, indem es Ihnen ermöglicht, die zugrunde liegenden Model-Eigenschaften, aber Ihre View-Databinds an die wiederbelichteten Eigenschaften des ViewModels (NICHT die des Modells!) Erneut zu exponieren. – Adrian
(Fortsetzung von oben) Ihr ViewModel implementiert INotifyPropertyChanged und für 'Get'-Aufrufe geben Sie nur den Wert des zugrundeliegenden Modells pro Eigenschaft zurück, aber bei' set'-Aufrufen legen Sie den Eigenschaftswert des zugrunde liegenden Modells fest und feuern PropertyChanged, so dass die Ansicht angezeigt wird der aktualisierte Wert – Adrian