Laden...

Control-Eigenschaften an ein Objekt binden

Erstellt von idontwantaname vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.101 Views
I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 15 Jahren
Control-Eigenschaften an ein Objekt binden

Hallo!

Ich habe ein Objekt, das über mehrere String-Eigenschaften verfügt. Nun hätte ich gerne, dass gewisse Textboxen an diese Strings gebunden werden. Hierzu habe ich gemäß eines anderen Themas eine BindingSource erstellt und mein Objekt angegeben.

Nun erzeuge ich eine Instanz des gewissen Objekts und weise es der DataSource-Eigenschaft der BindingSource zu. Wenn ich nun eine Eigenschaft (im Quellcode) ändere, so wird die entsprechende TextBox leider nicht aktualisiert. Setze ich die Text-Eigenschaft der TextBox im Quellcode manuell, so wird diese Änderung auch nicht auf das Objekt übertragen. Einzig und allein, wenn ich direkt in meinem Formular als Benutzer etwas eingebe, wird diese Änderung auch auf das Objekt übertragen.

Was muss ich tun, damit es so funktioniert, wie ich gerne hätte?

Lg oli

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo idontwantaname,

Wenn ich nun eine Eigenschaft (im Quellcode) ändere, so wird die entsprechende TextBox leider nicht aktualisiert.

das Objekt muss z.B. INotifyPropertyChanged implementieren.

Setze ich die Text-Eigenschaft der TextBox im Quellcode manuell, so wird diese Änderung auch nicht auf das Objekt übertragen.

Wenn du DataBinding verwendest, solltest du stattdessen die Property des Objekts ändern.

herbivore

I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 15 Jahren

Danke sehr, hat super funktioniert! Und von der schnellen Antwort bin ich wirklich begeistert 🙂

Das mit der TextBox.Text-Eigenschaft ändern war nur ein Test 😉

Da hätte ich noch eine kleine Frage am Rande: wenn die Property des Objekts gesetzt wird, kann es passieren, dass eine Exception geworfen wird. Gibt es eine Möglichkeit, diese dem Benutzer anzuzeigen? Denn bis jetzt ist es so, dass er solange die TextBox nicht verlassen kann, bis der Wert gültig ist bzw. keine Exception geworfen wird.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo idontwantaname,

zum einfachen Anzeigen von Fehlern von gebundenen Objekten sollte die Klasse IDataErrorInfo implementieren.

Siehe auch ErrorProvider.

herbivore

I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 15 Jahren

Hab jetzt den ErrorProvider genommen. Danke vielmals 😉