So binden Sie eine Variable an einen Textblock

7

Ich habe mich gefragt, wie ich einen Textblock an eine Variable innerhalb meiner C # -Klasse binden könnte.

Grundsätzlich habe ich eine "cart" -Variable in meiner .cs-Datei. Innerhalb dieser Warenkorbklasse habe ich Zugriff auf die verschiedenen Summen.

Folgendes habe ich für die Bindung, aber es scheint nicht an die Variable zu binden ...

%Vor%

Was ist der richtige Weg? Nochmals vielen Dank für die Hilfe!

    
Aero Chocolate 03.12.2010, 10:25
quelle

4 Antworten

11

Wenn Sie weiterhin möchten, dass die TextBox automatisch aktualisiert wird, wenn sich Ihre Warenkorbklasse ändert, muss Ihre Klasse die INotifyPropertyChanged -Schnittstelle implementieren:

%Vor%     
Michael Hilus 03.12.2010, 12:59
quelle
7

ElementName in der Bindung wird verwendet, um auf andere Steuerelemente zu verweisen, nicht auf Variablen im Code dahinter. Um Variablen im Code dahinter zu referenzieren, müssen Sie diese Variable der Eigenschaft DataContext eines Steuerelements zuweisen.

Ersetzen Sie jedes Vorkommen der folgenden Codezeile:

%Vor%

mit:

%Vor%

Und schreiben Sie in Ihrem Window-Konstruktor oder Load-Ereignis folgenden Code:

%Vor%     
decyclone 03.12.2010 10:56
quelle
2

Zwei Lösungen ..

Erste Lösung:

Setzen Sie die cart als DataSource in Ihrem Code hinter:

%Vor%

Und binden Sie es wie folgt:

%Vor%

Zweite Lösung:

Binden Sie mit einer ElementName-Bindung an Ihr Root-Steuerelement, und rufen Sie den Einkaufswagen durch eine Eigenschaft für dieses Steuerelement:

Nennen Sie Ihr Stamm- / Eltern-Steuerelement, wo der Warenkorb ein Propery ist:

%Vor%

Binde es so an:

%Vor%

Bitte beachten Sie, dass der Warenkorb eine Eigenschaft Ihres Benutzersteuerelements sein muss und kein Feld

    
Arcturus 03.12.2010 13:07
quelle
0

Sie müssen Ihre Klasse als Datenquelle für Ihr Formular festlegen. Siehe auch diese Frage .

    
Thorsten Dittmar 03.12.2010 10:40
quelle

Tags und Links