Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

ItemsControl.AlternationCount, propriété

Obtient ou définit le nombre de conteneurs d'élément de remplacement dans ItemsControl, ce qui permet aux conteneurs de remplacement d'avoir une apparence unique.

Espace de noms :  System.Windows.Controls
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[BindableAttribute(true)]
public int AlternationCount { get; set; }
<object AlternationCount="int" .../>

Valeur de propriété

Type : System.Int32
Nombre de conteneurs d'élément de remplacement dans ItemsControl.

Les propriétés AlternationCount et ItemsControl.AlternationIndex vous permettent de spécifier l'apparence de deux conteneurs d'éléments de remplacement ou plus. Par exemple, vous pouvez spécifier des couleurs d'arrière-plan de remplacement tous les trois éléments d'un ItemsControl. La propriété ItemsControl.AlternationIndex est assignée à chaque conteneur d'éléments dans ItemsControl. ItemsControl.AlternationIndex commence à 0, incrémente jusqu'à AlternationCount moins 1, puis redémarre à 0. Par exemple, si AlternationCount a la valeur 3 et que ItemsControl contient sept éléments, la table suivante répertorie le ItemsControl.AlternationIndex de chaque élément.

Position de l'élément dans ItemsControl

ItemsControl.AlternationIndex

1

0

2

1

3

2

4

0

5

1

6

2

7

0

Vous pouvez utiliser plusieurs méthodes pour spécifier différentes apparences pour les conteneurs d'éléments de remplacement. L'une des méthodes consiste à lier les propriétés du conteneur d'élément au ItemsControl.AlternationIndex. Vous pouvez ensuite utiliser un AlternationConverter pour spécifier la valeur qui doit être appliquée au conteneur d'élément ayant une valeur ItemsControl.AlternationIndex spécifique. Vous pouvez également utiliser des déclencheurs pour modifier la valeur de la propriété d'un conteneur d'élément en fonction de la valeur de son ItemsControl.AlternationIndex.

L'exemple suivant spécifie que ListBox (qui hérite de ItemsControl) possède des conteneurs d'élément de remplacement (qui sont de type ListBoxItem) et spécifie un arrière-plan et un premier plan différents pour chacun d'entre eux. L'exemple lie les propriétés Background et Foreground à ItemsControl.AlternationIndex et fournit AlternationConverter pour chaque propriété.


<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 aboutit au même résultat que l'exemple précédent à l'aide d'objets Trigger.


<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>


.NET Framework

Pris en charge dans : 4, 3.5 SP1, 3.0 SP2

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft