Databinding, zugriff in Klasse
He Leute,
Ich hab mal wieder ein Problem. Ich habe mir gerade das Thema Databindings angeschaut.
Dafür habe ich eine Textbox mit einem Binding aus meiner Klasse versehen.Soweit so gut. Wenn ich noch ein Textblock mit dem Binding versehe(oneway), dann steht da auch genau dieser wert drin.
Eventuell habe ich die ganze geschichte falsch verstanden, aber dieses Binding verbindet doch das Objekt , in meinem fall konkret eine String variable mit einem UI Objekt. also nimmt der String den wert an, den auch der "Text" wert der Textbox hat.
Wenn ich aber jetzt über den Code auf den String zugreife (Beispielsweise nur als eine Ausgabe durch MessageBox.show() ) dann bekomme ich eine NullReferenceException.
Habe ich da einfach nur was falsch verstanden, oder funktioniert das so einfach nicht?
Danke schonmal
LG THPS
AW: Databinding, zugriff in Klasse
Wenn du OneWay benutzt hast du doch genau das Verhalten eingestellt, das nur in eine Richtung geupdatet wird. Was du brauchst ist TwoWay
AW: Databinding, zugriff in Klasse
Hallo
Kannst du mir vielleicht genau sagen wie der Ablauf ist, z.B. wann wird die MessageBox gezeigt etc. Falls die Tastatur noch offen ist schauen, dass du diese schliesst (back-Taste). Weil solang das Keyboard angezeigt wird, wird das Binding nicht von selbst aktualisiert.
Gruss
Cr3dos
AW: Databinding, zugriff in Klasse
Also das Binding an sich funktioniert ja, Wenn ich einen Wert in der Textbox ändere, wird die Änderung auch direkt auf die Textbox übertragen.
Mein Problem ist nur, das ich nicht weis, wie ich auf den wert im Code zugreifen kann. Konkret hätte ich gerne, das bei einer Änderung des wertes, sich diese Änderung auch auf eine Andere Variable überträgt.
Lg
AW: Databinding, zugriff in Klasse
Ich glaubs du hast das Binding nicht richtig verstanden. Binding ist in der Regel Verbindung zwischen GUI-Element und Text.
Schritt 1: DataContex setzten im Code: this.DataContex = dataContexVariable;
Schritt 2: Auf das Textproperty in der TextBox ein Binding mache, am einfachsten im XAML: ... Text="{Binding varName, Mode="TwoWay"}" ...
Zugriff im Code: dataContexVariable.varName
AW: Databinding, zugriff in Klasse
Ok, danke erstmal Das leuchtet mir ein, also bringen mir die Databindings gar nicht so den erhofften vorteil, das der Inhalt eines Gui-elements bei änderung in mein objekt der Klasse geschrieben wird.
Dann erschließt sich mir aber nicht so wirklich der nutzen der Databindings.
Lg
AW: Databinding, zugriff in Klasse
Tut mir leid habe mich falsch ausgedrückt meine natürlich nicht Text sondern Variable in der Klasse. tut mir leid für die verwirrung
AW: Databinding, zugriff in Klasse
aah ok dann macht das auch sinn, also fehlte mir einfach nur die deklaration der Variable im Text ^^
thx!