wpf toolkit datagrid中的条件格式

时间:2009-07-11 14:31:40

标签: wpf wpftoolkit wpfdatagrid

嘿我想根据模型中的布尔值更改行前景颜色,最好的方法是什么?

2 个答案:

答案 0 :(得分:6)

将样式定义如下(IsBlah是一个boolian属性):

    <Style x:Key="MyRowStyle" TargetType="{x:Type dg:DataGridRow}">
        <Setter Property="Background" Value="White"/>
        <Setter Property="Foreground" Value="DarkBlue"/>            
        <Style.Triggers>
            <DataTrigger Binding="{Binding IsBlah}" Value="False" >
                <Setter Property="Background" Value="DarkGray" />
                <Setter Property="Foreground" Value="White" />
            </DataTrigger>
        </Style.Triggers>
    </Style>

您的DataGrid应该有自定义RowStyle。 (RowStyle =“{StaticResource MyRowStyle})

答案 1 :(得分:1)

这与Boris的答案基本相同,但如果您希望直接在DataGrid定义中定义样式,则可以使用以下语法。

注意:Blend不会为您提供实时预览,因此您必须运行它

<DataGrid>      
    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow">
            <Style.Triggers>
                <DataTrigger Binding="{Binding HasErrors}" Value="True">
                    <Setter Property="Foreground" Value="Red"/>
                </DataTrigger>      
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
</DataGrid>