更改DataGrid中的整个行背景

时间:2012-04-29 15:53:20

标签: wpf xaml datagrid background styles

我想将整行的背景与XAML中每条记录的布尔属性绑定。

有太多方法可以更改datagrid的样式,但我想更改负责整行的特定样式......

例如,类Record是datagrid后面的绑定数据,它有一个布尔属性“Correct”(true / false),我想数据网格在红色背景中显示错误的行,绿色时为绿色真。

我尝试使用CellStyle,但它只更改行中每个单元格的背景,而不是整行。

2 个答案:

答案 0 :(得分:2)

如前所述,使用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} ... />

答案 1 :(得分:0)

要更改行的背景颜色,您需要更改行中每个单元格的背景颜色。创建一个样式,设置背景颜色,然后将其指定给CellStyle成员。如果要使用RowStyle设置颜色,请将单元格的背景颜色设置为“透明”,然后使用RowStyle样式设置颜色。