ItemsControl.AlternationIndex Propriété attachée

Définition

Obtient la valeur assignée du conteneur d’éléments lorsque des conteneurs d’éléments de remplacement sont utilisés.Gets the assigned value of the item container when alternating item containers are used.

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

Exemples

L’exemple suivant spécifie que le ListBox (qui hérite de ItemsControl ) a des conteneurs d’éléments de remplacement (qui sont de type ListBoxItem ) et spécifie un arrière-plan et un premier plan différents pour chacun d’eux.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. L’exemple lie les Background Propriétés et Foreground à ItemsControl.AlternationIndex et fournit un AlternationConverter pour chaque propriété.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>

L’exemple suivant fait la même chose que l’exemple précédent en utilisant des Trigger objets.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>

Remarques

Les AlternationCount ItemsControl.AlternationIndex Propriétés et vous permettent de spécifier l’apparence de deux ou plusieurs conteneurs d’éléments de remplacement.The AlternationCount and ItemsControl.AlternationIndex properties enable you to specify the appearance for two or more alternating item containers. Par exemple, vous pouvez spécifier des couleurs d’arrière-plan en alternance pour chaque troisième élément dans un ItemsControl .For example, you can specify alternating background colors for every third item in an ItemsControl. La ItemsControl.AlternationIndex est assignée à chaque conteneur d’élément dans ItemsControl .The ItemsControl.AlternationIndex is assigned to each item container in the ItemsControl. ItemsControl.AlternationIndex commence à 0, incrémente jusqu’à ce qu’il soit AlternationCount moins 1, puis redémarre à 0.ItemsControl.AlternationIndex begins at 0, increments until it is AlternationCount minus 1, and then restarts at 0. Par exemple, si AlternationCount est 3 et qu’il y a sept éléments dans ItemsControl , le tableau suivant répertorie les ItemsControl.AlternationIndex pour chaque élément.For example, if AlternationCount is 3 and there are seven items in the ItemsControl, the following table lists the ItemsControl.AlternationIndex for each item.

Position de l’élément dans ItemsControlPosition of Item in the ItemsControl ItemsControl.AlternationIndex
11 00
22 11
33 22
44 00
55 11
66 22
77 00

Il existe plusieurs méthodes que vous pouvez utiliser pour spécifier des apparences différentes pour les conteneurs d’éléments de remplacement.There are several methods you can use to specify different appearances for the alternating item containers. Une méthode consiste à lier les propriétés du conteneur d’éléments à ItemsControl.AlternationIndex .One method is to bind properties of the items container to the ItemsControl.AlternationIndex. Vous pouvez ensuite utiliser un AlternationConverter pour spécifier la valeur qui doit être appliquée au conteneur d’éléments ayant une certaine ItemsControl.AlternationIndex valeur.You can then use an AlternationConverter to specify which value should be applied to the item container that has a certain ItemsControl.AlternationIndex value. Vous pouvez également utiliser des déclencheurs pour modifier la valeur de la propriété d’un conteneur d’éléments en fonction de la valeur de son 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.

S’applique à