我想用 XAML 中每条记录的布尔属性绑定整行的背景。
有太多方法可以更改数据网格的样式,但我想更改负责整行的特定样式......
例如,类 Record 是数据网格后面的绑定数据,它有一个布尔属性"Correct"(真/假),我希望数据网格在红色背景中显示 false Correct 的行,当 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} ... />
要更改行的背景颜色,您需要更改行中每个单元格的背景颜色。创建一个设置背景颜色的样式,然后将其分配给单元格样式成员。如果要使用 RowStyle 设置颜色,请将单元格的背景色设置为"透明",然后使用 RowStyle 样式设置颜色。