ItemsControl.AlternationIndex ItemsControl.AlternationIndex ItemsControl.AlternationIndex Attached Property

Definition

Ruft den zugewiesenen Wert des Elementcontainers ab, wenn Container für abwechselnde Elemente verwendet werden.Gets the assigned value of the item container when alternating item containers are used.

see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex

Beispiele

Das folgende Beispiel gibt an, dass die ListBox (erbt von ItemsControl) hat der abwechselnden Elementcontainer (des Typs ListBoxItem) und gibt einen anderen Vorder- und jeweils.The following example specifies that the ListBox (which inherits from ItemsControl) has alternating item containers (which are of type ListBoxItem) and specifies a different background and foreground for each one. Im Beispiel wird die Background und Foreground Eigenschaften, die die ItemsControl.AlternationIndex und bietet eine AlternationConverter für jede Eigenschaft.The example binds the Background and Foreground properties to the ItemsControl.AlternationIndex and provides an AlternationConverter for each property.

<Grid>
  <Grid.Resources>
    <AlternationConverter x:Key="BackgroundConverter">
      <SolidColorBrush>Blue</SolidColorBrush>
      <SolidColorBrush>CornflowerBlue</SolidColorBrush>
      <SolidColorBrush>LightBlue</SolidColorBrush>
    </AlternationConverter>

    <AlternationConverter x:Key="AlternateForegroundConverter">
      <SolidColorBrush>White</SolidColorBrush>
      <SolidColorBrush>Black</SolidColorBrush>
      <SolidColorBrush>Navy</SolidColorBrush>
    </AlternationConverter>

    <Style x:Key="alternatingWithBinding" TargetType="{x:Type ListBoxItem}">
      <Setter Property="Background" 
              Value="{Binding RelativeSource={RelativeSource Self},
                     Path=(ItemsControl.AlternationIndex),
                     Converter={StaticResource BackgroundConverter}}"/>

      <Setter Property="Foreground" 
              Value="{Binding RelativeSource={RelativeSource Self},
                     Path=(ItemsControl.AlternationIndex),
                     Converter={StaticResource AlternateForegroundConverter}}"/>
    </Style>

  </Grid.Resources>

  <ListBox AlternationCount="3" ItemsSource="{StaticResource data}"
           ItemContainerStyle="{StaticResource alternatingWithBinding}"/>
</Grid>

Im folgende Beispiel wird derselbe wie im vorherigen Beispiel mithilfe von Trigger Objekte.The following example does the same as the previous example by using Trigger objects.

<Grid>
  <Grid.Resources>
    <Style x:Key="alternatingWithTriggers" TargetType="{x:Type ListBoxItem}">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="Foreground" Value="White"/>
      <Style.Triggers>
        <Trigger Property="ListBox.AlternationIndex" Value="1">
          <Setter Property="Background" Value="CornflowerBlue"/>
          <Setter Property="Foreground" Value="Black"/>
        </Trigger>
        <Trigger Property="ListBox.AlternationIndex" Value="2">
          <Setter Property="Background" Value="LightBlue"/>
          <Setter Property="Foreground" Value="Navy"/>
        </Trigger>
      </Style.Triggers>
    </Style>

  </Grid.Resources>
  <ListBox AlternationCount="3" ItemsSource="{StaticResource data}" 
           ItemContainerStyle="{StaticResource alternatingWithTriggers}">
  </ListBox>
</Grid>

Hinweise

Die AlternationCount und ItemsControl.AlternationIndex Eigenschaften ermöglichen es Ihnen, die Darstellung für zwei oder mehr Container für abwechselnde Elemente festzulegen.The AlternationCount and ItemsControl.AlternationIndex properties enable you to specify the appearance for two or more alternating item containers. Sie können beispielsweise angeben, abwechselnde Hintergrundfarben für jedes dritte Element in einer ItemsControl.For example, you can specify alternating background colors for every third item in an ItemsControl. Die ItemsControl.AlternationIndex zugewiesen ist, auf alle Elementcontainer in der ItemsControl.The ItemsControl.AlternationIndex is assigned to each item container in the ItemsControl. ItemsControl.AlternationIndex bei 0 beginnt, erhöht, bis der Vorgang AlternationCount minus 1, und klicken Sie dann neu gestartet wird, bei 0.ItemsControl.AlternationIndex begins at 0, increments until it is AlternationCount minus 1, and then restarts at 0. Z. B. wenn AlternationCount ist 3, und es gibt sieben Elemente in der ItemsControl, die folgende Tabelle enthält die ItemsControl.AlternationIndex für jedes Element.For example, if AlternationCount is 3 and there are seven items in the ItemsControl, the following table lists the ItemsControl.AlternationIndex for each item.

Die Position des Elements in der ItemsControlPosition of Item in the ItemsControl ItemsControl.AlternationIndex
11 00
22 11
33 22
44 00
55 11
66 22
77 00

Es gibt mehrere Methoden, die Sie verwenden können, um unterschiedliche Darstellungen für den Container für abwechselnde Elemente anzugeben.There are several methods you can use to specify different appearances for the alternating item containers. Eine Methode besteht darin, Eigenschaften des Speichercontainers, um Elemente zu binden der ItemsControl.AlternationIndex.One method is to bind properties of the items container to the ItemsControl.AlternationIndex. Anschließend können Sie eine AlternationConverter angeben, welcher Wert auf die Elementcontainer angewendet werden soll, die eine bestimmte ItemsControl.AlternationIndex Wert.You can then use an AlternationConverter to specify which value should be applied to the item container that has a certain ItemsControl.AlternationIndex value. Sie können auch Trigger verwenden, so ändern Sie den Wert der Eigenschaft eines Elementcontainers, abhängig vom Wert der ItemsControl.AlternationIndex.You can also use triggers to change the value of an item container's property depending on the value of its ItemsControl.AlternationIndex.

Gilt für: