2009-07-11 78 views

回答

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

这基本上是相同的答案鲍里斯,但在这里,如果你喜欢直接在DataGrid定义中定义样式的语法

注:混合不会给你这个实时预览,所以你将不得不运行它

<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>