Hallo zusammen,
Für meine Anzeigeobjekte habe ich ein Interface definiert, welches das Interface INotifyPropertyChanged erweitert.
Die Anzeigeobjekte kapseln die Domain Objekte und stellen Properties zur Verfügung über die die Eigenschaften des Domain Objekts angezeigt/verändert werden können. Ausserdem leitet das Anzeigeobjekt das PropertyChanged Event vom Domain Object an die Oberfläche weiter.
Wenn ich nun eine BindingSource mit den Anzeigeobjekten fülle, dann werden diese korrekt dargestellt. Allerdings reagiert die BindingSource nicht auf das PropertyChanged Event der INotifyPropertyChanged Schnittstelle. Das Event würde aufgerufen werden, jedoch hat sich die BindingSource nicht als Listener für das Event registriert.
Das Feld (z.B. im Grid) wird nur geupdatet, wenn ich es entweder anklicke oder explizit per ResetItem/ResetBindings auffrische.
Hat jemand eine Idee woran das liegen könnte?
Zur Not muss ich eben ResetBindings/ResetItem aufrufen, allerdings möchte ich das vermeiden, da ich mir vorstellen könnte, dass es bei vielen Items ziemlich langsam wird.
Vielen Dank schon mal!!!
Gruß
Fanderlf
Update: Der Mechanismus funktioniert, wenn das geupdatete Element gerade ausgewählt ist. Hinzufügen möchte ich noch, dass ich die Änderungen nicht im Grid direkt, sonder direkt man Domain Objekt vornehme. Diese Änderung soll über das PropertyChanged Event auch im Gitter landen.
Für meine Anzeigeobjekte habe ich ein Interface definiert, welches das Interface INotifyPropertyChanged erweitert.
Die Anzeigeobjekte kapseln die Domain Objekte und stellen Properties zur Verfügung über die die Eigenschaften des Domain Objekts angezeigt/verändert werden können. Ausserdem leitet das Anzeigeobjekt das PropertyChanged Event vom Domain Object an die Oberfläche weiter.
Wenn ich nun eine BindingSource mit den Anzeigeobjekten fülle, dann werden diese korrekt dargestellt. Allerdings reagiert die BindingSource nicht auf das PropertyChanged Event der INotifyPropertyChanged Schnittstelle. Das Event würde aufgerufen werden, jedoch hat sich die BindingSource nicht als Listener für das Event registriert.
Das Feld (z.B. im Grid) wird nur geupdatet, wenn ich es entweder anklicke oder explizit per ResetItem/ResetBindings auffrische.
Hat jemand eine Idee woran das liegen könnte?
Zur Not muss ich eben ResetBindings/ResetItem aufrufen, allerdings möchte ich das vermeiden, da ich mir vorstellen könnte, dass es bei vielen Items ziemlich langsam wird.
Vielen Dank schon mal!!!
Gruß
Fanderlf
Update: Der Mechanismus funktioniert, wenn das geupdatete Element gerade ausgewählt ist. Hinzufügen möchte ich noch, dass ich die Änderungen nicht im Grid direkt, sonder direkt man Domain Objekt vornehme. Diese Änderung soll über das PropertyChanged Event auch im Gitter landen.
Comment