2010-10-24 7 views
3

Как я могу создавать столбцы в DataGrid, если я также хочу использовать свойство AlternatingRowBackground? У меня есть некоторые идеи, но он не работает :(.Столбцы WPF DataGrid чередующиеся раскраски

<de:DataGrid Name="dataGrid1" 
          AlternationCount="2" 
          AlternatingRowBackground="Salmon" 
          > 
        <de:DataGrid.Columns> 
         <de:DataGridTextColumn Binding="{Binding Path=Phrase}" 
               Header="Phrase"> 
          <de:DataGridTextColumn.ElementStyle> 
           <Style TargetType="{x:Type TextBlock}"> 
            <Style.Triggers> 
             <Trigger Property="ItemsControl.AlternationIndex" Value="0"> 
              <Setter Property="Background" Value="Green"></Setter> 
             </Trigger> 
             <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
              <Setter Property="Background" Value="Red"></Setter> 
             </Trigger> 

            </Style.Triggers> 
           </Style> 
          </de:DataGridTextColumn.ElementStyle> 
         </de:DataGridTextColumn> 
        </de:DataGrid.Columns> 
       </de:DataGrid> 

Может быть кто-нибудь знает, работает решение? Спасибо.

ответ

0

Вы ищете AlternationIndex недвижимость в неправильном контроле. Это свойство принадлежит DataGridRow.

<DataGrid ItemsSource="{Binding}" AlternationCount="2" AutoGenerateColumns="False" AlternatingRowBackground="Salmon"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Binding="{Binding Path=Phrase}" Header="Phrase"> 
        <DataGridTextColumn.ElementStyle> 
         <Style TargetType="{x:Type TextBlock}"> 
          <Style.Triggers> 
           <DataTrigger Binding="{Binding AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="0"> 
            <Setter Property="Background" Value="Green"></Setter> 
           </DataTrigger> 
           <DataTrigger Binding="{Binding AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="1"> 
            <Setter Property="Background" Value="Red"></Setter> 
           </DataTrigger> 
          </Style.Triggers> 
         </Style> 
        </DataGridTextColumn.ElementStyle> 
       </DataGridTextColumn> 
      </DataGrid.Columns> 
      </DataGrid> 
Смежные вопросы