W moim kodzie XAML chcę ustawić Background
kolor każdego wiersza na podstawie wartości obiektu w jednym określonym wierszu. Mam ObservableCollection
of z
, a każdy z nich z
ma właściwość o nazwie State
. Zacząłem od czegoś takiego w moim DataGrid
:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
Jest to niewłaściwe podejście, ponieważ x nie jest właściwością w mojej klasie ViewModel.
W mojej klasie ViewModel mam ObservableCollection<z>
który jest ItemsSource
tego DataGrid
i SelectedItem
typ z
.
Mógłbym związać kolor SelectedItem
, ale to zmieni tylko jeden wiersz w DataGrid
.
Jak mogę, w oparciu o jedną właściwość, zmienić te wiersze backgroundcolor?
'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')
Dlaczego nie znajduje stanu właściwości, gdy moja jednostka to przechowuje, a moja baza danych pokazuje stan jako kolumnę?