In meinem XAML-Code möchte ich die BackgroundFarbe jeder Zeile basierend auf einem Wert des Objekts in einer bestimmten Zeile festlegen . Ich habe eine ObservableCollectionvon z, und jede von zhat 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 ItemsSourcedieser DataGrid, und ein SelectedItemTyp 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?