我想将 entire row's background 绑定到XAML中每条记录的布尔属性 .
有太多方法可以改变datagrid的样式,但我想改变负责整行的特定样式......
例如,类Record是datagrid后面的绑定数据,它有一个布尔属性“Correct”(true / false),我希望datagrid在红色背景中显示false为正确的行,为true时为绿色 .
我尝试使用CellStyle,但它只更改行中每个单元格的背景,而不是整行 .
如上所述,使用DataGrid.RowStyle,例如:
<Style x:Key="DataGridRowCorrectStyle" TargetType="{x:Type Toolkit:DataGridRow}"> <Setter Property="Background" Value="Green"/> <Style.Triggers> <DataTrigger Binding="{Binding Correct}" Value="False"> <Setter Property="Background" Value="Red"/> </DataTrigger> </Style.Triggers> </Style> <Toolkit:DataGrid RowStyle={StaticResource DataGridRowCorrectStyle} ... />
要更改行的背景颜色,您需要更改行中每个单元格的背景颜色 . 创建一个样式,设置背景颜色,然后将其指定给CellStyle成员 . 如果要使用RowStyle设置颜色,请将单元格的背景颜色设置为“透明”,然后使用RowStyle样式设置颜色 .
2 回答
如上所述,使用DataGrid.RowStyle,例如:
要更改行的背景颜色,您需要更改行中每个单元格的背景颜色 . 创建一个样式,设置背景颜色,然后将其指定给CellStyle成员 . 如果要使用RowStyle设置颜色,请将单元格的背景颜色设置为“透明”,然后使用RowStyle样式设置颜色 .