在这个例子中,我们使用了两个DataTrigger,它们分别检查ContentPresenter的AlternationIndex属性是否为0或1。如果AlternationIndex为0,TextBlock的背景颜色将设置为#07FAFE;如果AlternationIndex为1,TextBlock的背景颜色将设置为#022A3C。
<ItemsControl AlternationCount="2" ItemsSource="{Binding ListApple}" Margin="0" Padding="0"><ItemsControl.ItemsPanel><ItemsPanelTemplate><WrapPanel Orientation="Horizontal"/></ItemsPanelTemplate></ItemsControl.ItemsPanel><ItemsControl.ItemTemplate><DataTemplate><TextBlock Text="{Binding}" Width="29" FontSize="10" Margin="0 0 1 0" Height="20" Padding="0 3 0 0" TextAlignment="Center"><TextBlock.Style><Style TargetType="TextBlock"><Style.Triggers><DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContentPresenter}, Path=(ItemsControl.AlternationIndex)}" Value="0"><Setter Property="Background" Value="#07FAFE"/><Setter Property="Foreground" Value="#022A3C" /></DataTrigger><DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContentPresenter}, Path=(ItemsControl.AlternationIndex)}" Value="1"><Setter Property="Background" Value="#022A3C"/><Setter Property="Foreground" Value="#FFFFFF" /></DataTrigger></Style.Triggers></Style></TextBlock.Style></TextBlock></DataTemplate></ItemsControl.ItemTemplate></ItemsControl>
这样,ItemsControl中的TextBlock就会按照奇数和偶数索引来交替使用不同的背景颜色。你可以根据需要调整颜色和AlternationCount的值。