0

我为我的 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>

除了所选项目的前景色是黑色而不是红色之外,此样式效果很好。所以,我需要知道如何设置所选项目的样式,以便前景颜色也是红色。IE

如果该项目被选中并且状态等于 Reject_X 或 Reject_Y 然后将前景设置为红色。

4

2 回答 2

0

我认为这样的事情应该这样做。我也会将类似的 MultiTriggers 放在您的 DataGridRow 样式中......

 <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>
于 2012-07-10T22:31:28.567 回答
0

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

于 2012-07-11T12:37:02.197 回答