WPF-DataGrid-Zellstil-Änderung nach dem Update
-
21-12-2019 - |
Frage
Ich habe ein DataGrid mit dynamisch erzeugten Säulen und ich muss den Stil der Zellen ändern, deren Werte nach einigen Manipulationen geändert haben.
Die PositionSource für DataGrid ist als generasAdicetagcode definiert, wobei
generasacodicetagpre.DataGrid-Säulen werden mit dem folgenden Code erstellt:
generasacodicetagpre.resultierendes datagrid sieht aus wie diesen
Das Problem entsteht, wenn ich versuche, (fetterte Text oder farbige Hintergrund) -Zellen hervorzuheben, deren Werte in der PositionenSource geändert haben. Dies ist der Punkt, an dem meine Frage in zwei aufteilt:
- .
- Gibt es einen "integrierten" Weg, um mit veränderten Zellen smth zu tun? (vielleicht mit
List<MyTableRow>
oder smth sonst) - Wenn nein, wie kann ich separate Zellen basierend auf ihren Indizes oder ihren Werten hervorheben,
Ich habe versucht, dies mit XAML-Styles und / oder Triggern zu tun, aber es stellte sich heraus, dass ich nicht weiß, was ich blende, sollte ich an den Konverter gehen
generasacodicetagpre. Andere Lösungen, die so gefunden wurden, dass entweder das gleiche "Problem" mit Bindung oder einfach nicht funktionieren. Was kann ich tun, um nur eine -Zelle und nicht von ganzer Zeile / Spalte zu markieren? Ich kann den ArtikelSource-, ObservableColletion
-Felder- und / oder Spalten-Generierungscode ändern, falls erforderlich
Kann jemand bitte helfen? Es war ein paar Tage, seit ich mit diesem Problem stecken bin
update gefundene Lösung
Lösung
Finden Sie endlich heraus, wie Sie tun, was ich will.Die Lösung ist irgendwie "schmutzig", aber funktioniert gut für mich. Ich fügte zu jeder Zelle nicht brechende Raumcharakter hinzu, die ich markieren muss, um sie hervorzuheben,
private const string NBSP = "\u00A0"
alles, was danach überlassen ist, ist das Erstellen des Wertumrichters.Also habe ich in meinem XAML MultiBinding
hinzugefügt:
сonverter definiert als:
generasacodicetagpre.hoffe das hilft jemandem!