Datagrid悬停不使用备用行颜色 - wpf

时间:2011-02-03 14:43:45

标签: wpf datagrid wpf-controls wpfdatagrid

这适用于DataGridRow ..

   <Trigger Property="IsMouseOver" Value="true">
        <Setter Property="Background" Value="{StaticResource RolloverBrush}" />
        <Setter Property="Foreground" Value="#000" />
   </Trigger>

但是当我添加这些时,鼠标悬停样式不起作用..

<Trigger Property="ItemsControl.AlternationIndex" Value="0">
    <Setter Property="Background" Value="{StaticResource LightRowBrush0}" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
    <Setter Property="Background" Value="{StaticResource LightRowBrush1}" />
</Trigger>

1 个答案:

答案 0 :(得分:7)

风格的顺序很重要。

在其他人工作之前应用交替触发器。

    <Style.Triggers>
        <Trigger Property="ItemsControl.AlternationIndex" Value="0">
            <Setter Property="Background" Value="{StaticResource LightRowBrush0}" />
        </Trigger>
        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
            <Setter Property="Background" Value="{StaticResource LightRowBrush1}" />
        </Trigger>
        <Trigger Property="IsMouseOver" Value="true">
            <Setter Property="Background" Value="{StaticResource RolloverBrush}" />
            <Setter Property="Foreground" Value="#000" />
        </Trigger>
        <Trigger Property="IsSelected" Value="true">
            <Setter Property="Background" Value="{StaticResource SelectedBrush}" />
            <Setter Property="Foreground" Value="#000" />
        </Trigger>
    </Style.Triggers>