Hallo Zusammen,
ich habe eine eigene Klasse (implementiert das INotifyPropertyChanged Interface), die (abgespeckt) folgendermaßen aussieht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| class Test : INotifyPropertyChanged { public string Property { get { ... } set { ... } }
public bool Property_Valid { get { return Property.Length > 0; } }
... } |
Nun binde ich die Eigenschaft an eine Textbox
C#-Quelltext
1:
| textBoxProperty.DataBindings.Add("Text", test, "Property", false, DataSourceUpdateMode.OnPropertyChanged); |
Dies funktioniert auch alles soweit.
Dann fange ich das TextChanged-Ereignis der Textbox ab und versuche dort mit Hilfe der Property_Valid-Eigenschaft festzustellen, ob Property auch einen gültigen Wert hat.
Leider "hinkt" der Wert der Eigenschaft Property etwas hinterher. Steht in der Textbox irgend ein Text drin, den ich dann markiere und komplett lösche, ist in dem TextChanged-Ereignis noch der alte Text drin, weshalb die Überprüfung fehl schlägt.
Ich könnte mir nun eine Methode in die Klasse basteln, welche einen Text auf entsprechende Gültigkeit überprüft und diese dann im Ereigis mit textBoxProperty.Text füttern, aber das mag mir so nicht gefallen.
Gibt es da noch andere Möglichkeiten? Evtl. ein anderes Ereignis, welches etwas später gesendet wird?
Vielen Dank schonmal im Vorraus,
jg72
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt