Entwickler-Ecke

WPF / Silverlight - Data-Binding mit einer Property eines Feldes


Chryzler - Di 29.04.08 17:24
Titel: Data-Binding mit einer Property eines Feldes
Hi,

ich stehe gerade vor folgendem Problem. Auf meinem Fenster hab ich mehrere Checkboxen, deren IsChecked-Eigenschaften ich jeweils mit Properties (momentan normale .NET-Properties) eines privaten Feldes meines Fenster synchronisiert haben möchte. Kein Problem, dachte ich, wofür gibts Data-Binding. Die Frage ist jetzt nur, wie ich aus meinem XAML-Code auf dieses Feld zugreifen soll. Hatte schon ein bisschen rumprobiert, bisher jedoch ohne Erfolg.

Hat einer ne Idee von euch wie das funktionieren könnte?
Es muss ja nicht unbedingt Data-Binding sein, ich wills nur so sauber und kompakt wie möglich machen. :)

Chryzler


Christian S. - Di 29.04.08 20:43

Hm. Du könntest den DataContext der Checkbox auf das Feld setzen (im Konstruktor des Windows) und dann entsprechend den Binding-Path setzen. Das wird unpraktisch, wenn Du das mit vielen Komponenten machen musst.


Chryzler - Mi 30.04.08 15:04

Danke für den Tipp. Funktioniert sogar. :) Ist aber doof dass man den DataContext nicht von XAML aus setzen kann.


Christian S. - Mi 30.04.08 17:41

Du müsstest das Feld in XAML als Resource instanzieren, dann solltest Du von XAML aus drauf zugreifen können.

Du kannst auch den DataContext des Windows auf sich selbst setzen, dann kannst Du bei allen Unterknoten auf die Eigenschaften zugreifen. Aber ist das (a) IMHO unsauber und (b) müsstest Du Dein Feld zumindest in eine private Property "einwickeln" ;-)