Подтвердить что ты не робот

Wpf datagrid чередует окраску строк

Я пробовал этот метод.. без везения..

 <Style TargetType="{x:Type DataGridRow}">
  <Style.Triggers>
      <Trigger Property="ItemsControl.AlternationIndex" Value="0">
          <Setter Property="Foreground" Value="Red" />
     </Trigger>
  </Style.Triggers>
</Style>

Есть ли способ получить индекс строки? Я даже попробовал

<DataTrigger Binding="{Binding AlternationIndex}" Value="0">
    <Setter Property="Foreground" Value="Green"></Setter>
</DataTrigger>
4b9b3361

Ответ 1

Если это уже сделано, вам нужно установить свойство AlternationCount DataGrid:

<DataGrid AlternationCount="2"
          ... />

Вы также должны проверить, используется ли свойство Foreground для любого элемента управления в DataGridRow. Попробуйте установить свойство Background, чтобы проверить материал чередования.

Ответ 2

Наконец, это то, что я закончил, чтобы в целом устанавливать альтернативные цвета строк.

<Style TargetType="{x:Type DataGrid}">
    <Setter Property="Background" Value="#FFF" />
    <Setter Property="AlternationCount" Value="2" />
</Style>

 <Style TargetType="{x:Type DataGridRow}">
    <Style.Triggers>
        <Trigger Property="ItemsControl.AlternationIndex" Value="0">
            <Setter Property="Background" Value="#CCC"></Setter>
        </Trigger>
        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
            <Setter Property="Background" Value="#EEE"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>

Ответ 3

Попробуйте установить альтернативный фон следующим образом:

  AlternationCount="2" AlternatingRowBackground="Bisque"

Ответ 4

Попробуйте это

  <DataGrid AlternationCount="2"
            AlternatingRowBackground="Salmon" ........