Datagrid не работает с альтернативными цветами строк - wpf - PullRequest
3 голосов
/ 03 февраля 2011

Это прекрасно работает с 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 Ответ

7 голосов
/ 03 февраля 2011

Порядок стилей имеет значение.

Применение триггеров чередования до того, как другие сработали.

    <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>
...