我有一个Item类,它有2个属性,“Value”和“IsSelected”。 “Value”格式类似于“Column1 = Value1 :: Column2 = Value2 :: Column3 = Value3”,“IsSelected”是一个布尔值。
我有一个这个Item类的列表,我需要绑定到一个datagrid。所以,基本上我需要拆分“Value”字符串并构造一个DataTable来将它绑定到datagrid。然后,如果Item的“IsSelected”为真,我将需要用颜色为行着色。
我遇到的问题是,我不知道在检查“IsSelected”属性以设置行颜色时如何在数据网格中显示数据。如何绑定我的数据,以便每个数据行绑定到每个Item类?
谢谢!
答案 0 :(得分:0)
你可以设置DataGridRow的样式,这是一个例子:
<DataGrid ItemsSource="{Binding Things}">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="Red"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected}" Value="True">
<Setter Property="Background" Value="Green"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
我只是做了一个愚蠢的例子,但是,你只需要编写你的on样式以便绑定你的属性IsSelected在哪一行,在我的例子中,我创建一个Datatrigger,它基于属性IsSelected的值,就像你的情况一样,只要这个属性的值为true,我就将行的背景改为绿色。