Bindung DataGrid-Spalte-Header DataContext
Ich weiß, diese Frage wurde vorher gefragt, aber keiner von den "bisherigen" Antworten scheint zu funktionieren für mich...
Implementierte ich eine Funktion für multi-Sprachen, die in meiner Anwendung, und ich dafür haben, binden Sie die header von meinem DataGrid-Spalten an den DataContext.
Benutze ich ein Wörterbuch (genannt Text im Beispiel unten) in der DataContext zum speichern der Texte, und die Bindung funktioniert einwandfrei mit Textblöcke, buttons etc.
<TextBlock Text="{Binding Text[Name], FallbackValue='Name'" />
Aber ich kann nicht ankommen dieses zu wirken, die auf der Header-Attribut von der DataGrid-Spalten.
Ich habe irgendwo gelesen, dass muss ich schreiben, eine Vorlage für die Spalte/header um dies zu erreichen, aber ich kann nicht verstehen entweder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möglicherweise müssen Sie zu Fuß zurück auf den Baum, um die DataContext Sie wollen:
Tun dies direkt auf der
Header
Eigenschaft wird nicht funktionieren, weil es nicht gelöst werden kann-als Ort der Spalte ist ein abstraktes Objekt erscheint weder in der Baum.richtig.
es ist kein elemet in visual Baum direkt zuordnen zu
DataGridTextColumn
so dass Sie nicht verwenden könnenRelativeSource
mitAncestorType
(d.h.DataGridTextColumn
ist nicht eine Kontrolle daher nicht über eine übergeordnete Steuerung).unten code sollte funktionieren
Header="{Some stringified binding}"
- Attribut?DataGrid
würde nicht zuverlässig aktualisiert, wenn das gebundene Objekt aktualisiert. Die Methode, die in der akzeptierten Antwort nicht konsistent funktioniert aber.