我有一个 itemscollection 并且我想要交替的行着色,我已经研究过如何做到这一点但找不到任何东西,我认为这应该很简单,但也许我错过了一些东西。
顺便说一句,这是WPF。
<Grid>
<ItemsControl Name="itemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=name}" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="{Binding Path=something}" VerticalAlignment="Center"/>
<Button Grid.Column="2" Content="Launch" Tag="{Binding}" Height="25" VerticalAlignment="Center" Click="Button_Click"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Control.Margin" Value="5"/>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
<Button Height="23" HorizontalAlignment="Right" Margin="0,0,12,12" Name="button1" VerticalAlignment="Bottom" Width="75" Click="button1_Click">Button</Button>
</Grid>
最佳答案
将 AlternationCount="2"
添加到您的 ItemsControl。
然后将此添加到您的 ItemContainerStyle 以获得交替的红色/蓝色项目:
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Control.Background" Value="Red"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Control.Background" Value="Blue"></Setter>
</Trigger>
</Style.Triggers>
编辑:您需要拥有 .NET 3.0/3.5 SP1。
关于wpf - ItemsCollection 和交替行着色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1532158/