Laden...

[erledigt] DataGrid - Zeilenfarbe zur Spalte [zur Laufzeit ändern] - XAML

Erstellt von _Cashisclay vor 9 Jahren Letzter Beitrag vor 9 Jahren 3.629 Views
_
_Cashisclay Themenstarter:in
277 Beiträge seit 2014
vor 9 Jahren
[erledigt] DataGrid - Zeilenfarbe zur Spalte [zur Laufzeit ändern] - XAML

Hey ho,

ist es möglich zur Laufzeit über DataTriggers die Farbe einer einzelnen Zeile zu verändern, obwohl RowBackground und AlternateRowBackground bereits vergeben sind?

Also geht es via XAML und den DataTriggers oder muss ich dort schon im Code durchgreifen?
Ich versuche die ganze Zeit eine Lösung zu finden der beste Erfolg war bisher vom DataGridTextColumn der Hintergrund des TextBlockes zu ändern (Funktioniert) sieht aber Mist aus.

Jemand eine Idee? Ich google solange weiter 😕

Es soll quasi im Beispiel von dem Bild alles Rot bleiben außer die einzelnen Einträge vom Zustand die können in 7 Farben oder so variieren.

M
117 Beiträge seit 2012
vor 9 Jahren

Klar ist das möglich. Du benötigst lediglich nen Bool oder was auch immer, den du abfragen kannst. Dann kannst du ganz normal den Bool mit nem DataTrigger (oder auch MultiDataTrigger) abfragen und für die entsprechende Row die Hintergrundfarbe ändern.

_
_Cashisclay Themenstarter:in
277 Beiträge seit 2014
vor 9 Jahren

Das hat aber bisher nicht geklappt, ich brauch kein bool ich kann via DataTrigger auf meinen Zustand zugreifen und wenn das Value dem Wert Beispielsweise Running entspricht kann ich die Farbe ändern, nur wie bereits gesagt ändert er die gesamte Zeile ich möchte aber nur die einzelne Row vom Zustand mit einer neuen Farbe versehen.

Gruß

P
157 Beiträge seit 2014
vor 9 Jahren

Celltemplate => Datatemplate -> trigger

Wenn's zum weinen nicht reicht, lach drüber!

_
_Cashisclay Themenstarter:in
277 Beiträge seit 2014
vor 9 Jahren

Ja sorry,

hab gestern irgendwie nichts mehr gesehen, zu viel XAML am Tag tut auch nicht gut, die Frage war vllt ein wenig unnötig, aber eventuell stolpert ja mal wer drüber.

                        <DataGridTextColumn.CellStyle>
                            <Style TargetType="{x:Type DataGridCell}">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Zustand}" Value="4">
                                        <Setter Property="Background" Value="{StaticResource WatchDogModulmanagerWindowPage_Running}"/>
                                        <Setter Property="BorderThickness" Value="0"/>
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Zustand}" Value="1">
                                        <Setter Property="Background" Value="{StaticResource WatchDogModulmanagerWindowPage_Stopped}"/>
                                        <Setter Property="BorderThickness" Value="0"/>
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Zustand}" Value="0">
                                        <Setter Property="Background" Value="{StaticResource WatchDogModulmanagerWindowPage_Uninstalled}"/>
                                        <Setter Property="BorderThickness" Value="0"/>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </DataGridTextColumn.CellStyle>

Hatte es dann auch selber gefunden, aber mit Parso seinem Tipp wäre es auch noch schneller gegangen danke dir 😃