Binding DataGrid column Header zu DataContext

7

Ich weiß, dass diese Frage schon einmal gestellt wurde, aber keine der "vorherigen" Antworten scheint für mich zu funktionieren ...

Ich habe in meiner Anwendung eine Funktionalität für mehrere Sprachen implementiert und muss daher den Header meiner DataGrid-Spalten an den DataContext binden.

Ich verwende im DataContext ein Wörterbuch (im folgenden Beispiel Text genannt), um die Texte zu speichern, und die Bindung funktioniert gut mit Textblöcken, Schaltflächen usw.

%Vor%

Aber ich kann nicht das Header-Attribut der DataGrid-Spalten bearbeiten.

Ich habe irgendwo gelesen, dass ich eine Vorlage für die Spalte / den Header schreiben muss, um das zu erreichen, aber ich kann das auch nicht herausfinden.

    
Christian Tang 17.01.2012, 08:22
quelle

2 Antworten

27

Sie müssen möglicherweise den Baum nach oben gehen, um den gewünschten DataContext zu erhalten:

%Vor%

Dies wird direkt in der Eigenschaft Header nicht funktionieren, da es nicht direkt aufgelöst werden kann, da die Spalte ein abstraktes Objekt ist, das nicht in der Struktur erscheint.

    
H.B. 17.01.2012, 08:43
quelle
3

richtig. Es gibt keinen Elemet im visuellen Baum, der direkt auf DataGridTextColumn abbildet, so dass Sie RelativeSource nicht mit AncestorType verwenden können (d. h. DataGridTextColumn ist kein Steuerelement, daher hat es kein übergeordnetes Steuerelement). unter dem Code sollte gut funktionieren

%Vor%     
bo chen 06.05.2013 08:57
quelle

Tags und Links