首页 文章

更改DataGrid中的整个行背景

提问于
浏览
0

我想将 entire row's background 绑定到XAML中每条记录的布尔属性 .

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

例如,类Record是datagrid后面的绑定数据,它有一个布尔属性“Correct”(true / false),我希望datagrid在红色背景中显示false为正确的行,为true时为绿色 .

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

2 回答

  • 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} ... />
    
  • 0

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

相关问题