Datenbindung - komisches Verhalten

12/04/2010 - 08:18 von Rafael G. | Report spam
Hallo NG,

ich habe eine WinForm-Anwendung, wo ich eine Form von Assistenten habe.
Im Laufe des Assistenten können unteschiedliche Parameter
gesetzt/gewàhlt werden, so dass am Ende ein Wert herauskommt.
Um die zuletzt gewàhlten Parameter speichern/laden zu können, binde ich
an die Seiten des Assistenten ein einzelnes Berechnungs-Objekt.
Da manche Parameter abhànig voneinander sind, sprich je nachdem was bei
Param1 gewàhlt wird, àndert sich der Wert für Param2, Param3, belege ich
automatisch den Wert für Param2 und Param3 vor.
Hier habe ich dann bereits die 1. Frage. Setze ich den Wert für Param2,
indem ich die Text-Eigenschaft des Textfeldes von Param2 veràndere oder
sollte ich die entsprechende Eigenschaft des gebundenen
Berechnungs-Objekts setzen? Ich bekomme nàmlich an dieser Stelle
komische Effekte, so dass manchmal die Textfelder zurückgesetzt werden,
weil ungewollt die Daten aus der gebundenen Datenquelle gelesen werden.

VG
Rafael
 

Lesen sie die antworten

#1 Elmar Boye
12/04/2010 - 15:21 | Warnen spam
Hallo Rafael,

"Rafael G." schrieb ...
ich habe eine WinForm-Anwendung, wo ich eine Form von Assistenten habe.
Im Laufe des Assistenten können unteschiedliche Parameter gesetzt/gewàhlt werden, so dass am Ende ein Wert herauskommt.
Um die zuletzt gewàhlten Parameter speichern/laden zu können, binde ich an die Seiten des Assistenten ein einzelnes
Berechnungs-Objekt.



Implementiere für die Klasse INotifyPropertyChanged:
http://msdn.microsoft.com/de-de/lib...85%29.aspx

Da manche Parameter abhànig voneinander sind, sprich je nachdem was bei Param1 gewàhlt wird, àndert sich der Wert für Param2,
Param3, belege ich automatisch den Wert für Param2 und Param3 vor.
Hier habe ich dann bereits die 1. Frage. Setze ich den Wert für Param2, indem ich die Text-Eigenschaft des Textfeldes von Param2
veràndere oder sollte ich die entsprechende Eigenschaft des gebundenen Berechnungs-Objekts setzen?



Wenn beim Ändern einer Eigenschaft mehrere Veràndert werden,
solltet Du dies entweder über die Property Setter erledigen,
womit bei richtiger Implementation der Schnittstelle auch die
Benachrichtigungen verschickt werden.

Alterativ (z. B. bei berechneten Eigenschaften, die nur einen Getter haben)
löse PropertyChanged für alle betroffenen Eigenschaften aus.

Ich bekomme nàmlich an dieser Stelle komische Effekte, so dass manchmal die Textfelder zurückgesetzt werden, weil ungewollt die
Daten aus der gebundenen Datenquelle gelesen werden.



Dann sollte alles richtig laufen.
Wenn nicht solltest Du etwas Code zeigen und es nàher erlàutern.

Gruß Elmar

Ähnliche fragen