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.
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.
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
Tags und Links wpf data-binding mvvm datagrid