嘿,我想根据模型中的布尔值更改行前景色,最好的方法是什么?
问问题
4754 次
2 回答
6
定义样式如下(IsBlah 是一个布尔属性):
<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})
于 2009-08-17T05:30:56.690 回答
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>
于 2012-07-07T01:44:36.110 回答