0

I have a RowStyle defined for my DataGrid to change the Foreground color to red for items in my grid that have a rejected status or Reject_X or 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>

This style works fine except the selected item's foreground color is black not red. So, I need to know how to style the selected item so that the Foreground color is also red. I.e.

if the item is selected AND the status equals Reject_X or Reject_Y then set Foreground to Red.

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 に答える