我为我的DataGrid定义了一个RowStyle,将我的网格中具有被拒绝状态或Reject_X或Reject_Y的项目的前景颜色更改为红色:
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Static StatusTypes:Status.Reject_X}">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="{x:Static StatusTypes:Status.Reject_Y}">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
此样式工作正常,但所选项目的前景色为黑色而不是红色。所以,我需要知道如何设置所选项目的样式,以便前景色也是红色。即。
如果选择了项目且状态等于Reject_X或Reject_Y,则将Foreground设置为红色。
答案 0 :(得分: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>
答案 1 :(得分:0)
我会查找多数据触发器。这应该会给你你想要的东西。