繁体   English   中英

如何根据DataGrid交替索引设置单元格的背景色?

[英]How to set background color of a cell depending on a DataGrid alternation index?

我想根据DataGrid的交替索引更改单元格的背景颜色。 我的模板如下所示:

<DataTemplate x:Key="MyTemplate">
  <Label x:Name="MyLabel">foobar</Label>
  <DataTemplate.Triggers>
    <Trigger Property="DataGridRow.AlternationIndex" Value="0">
      <Setter Property="Background" Value="Blue" TargetName="MyLabel"/>
    </Trigger>
    <Trigger Property="DataGridRow.AlternationIndex" Value="1">
      <Setter Property="Background" Value="Red" TargetName="MyLabel"/>
    </Trigger>
  </DataTemplate.Triggers>
</DataTemplate>

而我的DataGrid设置了该属性:

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

蓝色背景有效,但是所有单元格都具有蓝色背景,没有单元格具有红色背景。 这里缺少什么?

您将必须使用DataTrigger而不是Triggers

<DataTemplate x:Key="MyTemplate">
  <Label x:Name="MyLabel">foobar</Label>
  <DataTemplate.Triggers>
    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(ItemsControl.AlternationIndex)}" Value="0">
      <Setter Property="Background" Value="Blue" TargetName="MyLabel"/>
    </DataTrigger >
     <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(ItemsControl.AlternationIndex)}" Value="1">
      <Setter Property="Background" Value="Red" TargetName="MyLabel"/>
    </DataTrigger >
  </DataTemplate.Triggers>
</DataTemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM