最佳答案
在我的 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>
,它是这个 DataGrid
的 ItemsSource
,还有一个类型为 z
的 SelectedItem
。
我可以将颜色绑定到 SelectedItem
,但是这只会改变 DataGrid
中的一行。
如何基于一个属性更改此行的背景色?