In meinem XAML-Code möchte ich die Background
Farbe jeder Zeile basierend auf einem Wert des Objekts in einer bestimmten Zeile festlegen . Ich habe eine ObservableCollection
von z
, und jede von z
hat eine Eigenschaft namens State
. Ich begann mit so etwas in meinem DataGrid
:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
Dies ist ein falscher Ansatz, da x keine Eigenschaft in meiner ViewModel-Klasse ist.
In meiner Klasse Viewmodel habe ich eine , ObservableCollection<z>
die das ist ItemsSource
dieser DataGrid
, und ein SelectedItem
Typ z
.
Ich könnte die Farbe binden SelectedItem
, aber dies ändert nur eine Zeile in der DataGrid
.
Wie kann ich basierend auf einer Eigenschaft die Hintergrundfarbe dieser Zeilen ändern?
'State' property not found on 'object' ''z' (HashCode=7162954)'. BindingExpression:Path=State; DataItem='z' (HashCode=7162954); target element is 'DataGridRow' (Name=''); target property is 'NoTarget' (type 'Object')
Wie kommt es, dass der Eigenschaftsstatus nicht gefunden wird, wenn meine Entität dies enthält und meine Datenbank den Status als Spalte anzeigt?