2012-07-10 81 views
0

前景色我已经为我的DataGrid前景色变为红色在我的网格,具有拒收状态或Reject_X或Reject_Y项目定义的RowStyle除了选定的项目的前景颜色是黑色而不是红色以外,它可以正常工作所以,我需要知道如何设置所选项目的样式,以便前景色也是红色的。即的DataGrid行选定项目

如果选择该项目并且状态等于Reject_X或Reject_Y,则将前景设置为红色。

+0

您是否尝试在DataGrid.Resources中重置SystemColors.HighlightTextBrushKey? – deathrace 2013-02-26 06:15:18

回答

0

我认为这样的事情应该做到这一点。我会在你的DataGridRow风格,以及类似的MultiTriggers ...

<Style TargetType="DataGridCell"> 
    <Style.Triggers> 
     <MultiTrigger> 
      <MultiTrigger.Conditions> 
       <Condition Property="IsSelected" Value="True"/> 
       <Condition Binding="{Binding Status}" Value="{x:Static StatusTypes:Status.Reject_X}"/> 
      </MultiTrigger.Conditions> 
      <Setter Property="Foreground" Value="Red"/> 
     </MultiTrigger> 
     <MultiTrigger> 
      <MultiTrigger.Conditions> 
       <Condition Property="IsSelected" Value="True"/> 
       <Condition Binding="{Binding Status}" Value="{x:Static StatusTypes:Status.Reject_Y}"/> 
      </MultiTrigger.Conditions> 
      <Setter Property="Foreground" Value="Red"/> 
     </MultiTrigger> 
    </Style.Triggers> 
</Style> 
+0

该项目也必须被选中 - 不只是被拒绝。 – ihatemash 2012-07-11 12:28:24

+0

看到更新,类似的东西应该工作 – 2012-07-11 15:24:23

0

我会查找多数据触发器。这应该给你你想要的。