Set the Background of a DataGridRow based on the c

2020-03-19 06:45发布

问题:

Is there a way, using XAML, to dynamically set the background of a row based on the content of one of it's cells?

Thanks,

Phil

回答1:

You can define a style for a row and change the color using DataTrigger. Something like this:

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

Here BooleanPropertyOnObjectBoundToRow is a boolean property on your data object one the cells is bound to.