数据网格行的两种颜色不同

时间:2013-02-26 21:09:23

标签: c# wpf xaml datagrid

我想在我的数据网格上设置不同的背景颜色。我想要两种颜色。 第一行的颜色为XXXX,第二行为YYYY,第三行为XXXXX等等。

我尝试使用AlternationIndex创建样式,但我在行上看到相同的颜色。

有人可以帮我吗?

非常感谢:)

   <Style x:Key="RowStyleWithAlternation" TargetType="DataGridRow">
    <Setter Property="SnapsToDevicePixels" Value="True" />
    <Setter Property="Background" Value="GhostWhite"/>
    <Setter Property="FontWeight" Value="Normal"/>
    <Setter Property="ContextMenu" Value="{x:Null}"/>
    <Style.Triggers>
        <Trigger Property="AlternationIndex" Value="1">
            <Setter Property="Background" Value="#9f3131"/>
        </Trigger>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#F9F99F"/>
        </Trigger>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="#F9F99F" />
        </Trigger>
        <Trigger Property="Validation.HasError" Value="True" >
            <Setter Property="Effect">
                <Setter.Value>
                    <DropShadowEffect Color="Red" ShadowDepth="0" BlurRadius="20" />
                </Setter.Value>
            </Setter>
            <Setter Property="BorderThickness" Value="2" />
            <Setter Property="BorderBrush" Value="Red" />
            <Setter Property="Foreground" Value="Blue" />
            <Setter Property="FontSize" Value="12" />
        </Trigger>
    </Style.Triggers>
</Style>

2 个答案:

答案 0 :(得分:3)

DataGrid.AlternatingRowBackground

<Setter Property="AlternatingRowBackground" Value="#9f3131"/>

答案 1 :(得分:1)

您需要将AlternationCount上的DataGrid属性设置为2。

还可以更改样式以设置第二个AlternationIndex的颜色。

<Trigger Property="AlternationIndex" Value="0">
   <Setter Property="Background" Value="XXXXX"/>
</Trigger>

<Trigger Property="AlternationIndex" Value="1">
   <Setter Property="Background" Value="YYYYY"/>
</Trigger>

希望这有帮助!