Datenbindung für WPF: Dynamische Bindungen

Wollen wir eine Datenbindung von einem sich ändernden Wert vornehmen, so benötigen wir das Schlüsselwort Binding. Diese Art von Bindung kann sowohl dafür genutzt werden, einen bestimmten Wert von einem, zu einem anderen Steuerelement zu binden, als auch einen Steuerelement-Wert an eine Variable (aus dem Daten-Kontext-Objekt der Klasse) zu binden.
Hinter dem Schlüsselwort Bindung notieren wir die Attribute ElementName und Path. Hierbei wird der Wert durch ein Gleichheitszeichen dem Attribut zugewiesen (hier dürfen keine doppelten Anführungszeichen notiert werden). ElementName legt den Namen des Steuerelements oder allgemein bezeichnet, den Variablennamen des Objekts, welches den zu bindenden Wert enthält, fest. Das Path-Attribut wird dazu genutzt, den Weg (oder auch Pfad genannt) zu dem zu bindenden Wert festzulegen (zumeist die Eigenschaft der Klasse).
Das Binden einer Klassen-Variable ist nicht direkt möglich. Hierfür dient das Objekt, welches in der Eigenschaft DataContext hinterlegt ist und somit den Daten-Kontext der Klasse zur Verfügung stellt. Das hier hinterlegte Objekt sollte selbst definiert werden (im Beispiel ist dies die Klasse DatenQuelle, wovon die Zuweisung im Konstruktor erfolgt). Die in dieser Klasse vorhandenen Variablen (nur wenn Zugriffsmodifizierer public ist) können nun über XAML an die Eigenschaft eines Steuerelements gebunden werden. Das Attribut ElementName kann hier weggelassen werden, da standardmäßig auf den Daten-Kontext der Klasse zugegriffen wird. Wenn wir die Bindung in beide „Richtungen“ nutzen wollen, sodass sich auch der Wert der Ursprungsvariable ändert, falls der gebundene Wert geändert wurde, so müssen wir das Attribut Mode auf den Wert TwoWay setzen. Dabei handelt es sich um eine Bindung mit Lese- und Schreibzugriff. Übrigens: Benötigen wir lediglich das Path-Attribut, so genügt es den Pfadnamen alleine (ohne Attributname) zu notieren.Download

LinksRechts