ItemsCollection和备用行着色

Rub*_*ord 3 wpf styles itemscontrol

我有一个itemscollection我希望有替代行着色,我看了怎么做但却找不到任何东西,我认为这应该很简单,但也许我错过了一些东西.

这是WPF btw.

<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>
Run Code Online (Sandbox Code Playgroud)

Jul*_*ain 6

添加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>
Run Code Online (Sandbox Code Playgroud)

编辑:您需要拥有.NET 3.0/3.5 SP1.