У своєму коді XAML я хочу встановити Background
колір кожного рядка на основі значення об'єкта в одному конкретному рядку. У мене є ObservableCollection
з z
, і кожен з z
має властивість State
. Я почав з чогось такого у своєму DataGrid
:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background"
Value="{Binding z.StateId, Converter={StaticResource StateIdToColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
Це неправильний підхід, оскільки x не є властивістю в моєму класі ViewModel.
У моєму класі ViewModel у мене є , ObservableCollection<z>
який є ItemsSource
цим DataGrid
, і SelectedItem
типу z
.
Я міг би прив'язати колір до SelectedItem
, але це змінить лише один рядок у DataGrid
.
Як я можу на основі однієї властивості змінити ці рядки 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')
це, що він не знаходить стану власності, коли мій об'єкт тримає це, а моя база даних відображає стан як стовпець?