ItemsControl.AlternationIndex Propriété attachée
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la valeur assignée du conteneur d’éléments lorsque des conteneurs d’éléments de remplacement sont utilisés.
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
Exemples
L’exemple suivant spécifie que le ListBox (qui hérite de ItemsControl) possède des conteneurs d’éléments alternatifs (qui sont de type ListBoxItem) et spécifie un arrière-plan et un premier plan différents pour chacun d’eux. L’exemple lie les propriétés et les Background propriétés à la ItemsControl.AlternationIndex propriété Foreground et fournit une 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 effectue la même chose 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>
Remarques
Les AlternationCount propriétés et ItemsControl.AlternationIndex les propriétés vous permettent de spécifier l’apparence de deux conteneurs d’éléments alternatifs ou plus. Par exemple, vous pouvez spécifier des couleurs d’arrière-plan alternées pour chaque troisième élément d’un ItemsControl. Le ItemsControl.AlternationIndex conteneur est affecté à chaque conteneur d’éléments dans le ItemsControl. ItemsControl.AlternationIndex commence à 0, incrémente jusqu’à ce qu’il soit AlternationCount moins 1, puis redémarre à 0. Par exemple, si AlternationCount la valeur est 3 et qu’il y a sept éléments dans le ItemsControltableau suivant, le tableau suivant répertorie les ItemsControl.AlternationIndex éléments pour chaque élément.
Position de l’élément dans le ItemsControl | ItemsControl.AlternationIndex |
---|---|
1 | 0 |
2 | 1 |
3 | 2 |
4 | 0 |
5 | 1 |
6 | 2 |
7 | 0 |
Il existe plusieurs méthodes que vous pouvez utiliser pour spécifier différentes apparences pour les conteneurs d’éléments alternatifs. Une méthode consiste à lier les propriétés du conteneur d’éléments au ItemsControl.AlternationIndex. Vous pouvez ensuite utiliser une AlternationConverter valeur pour spécifier quelle valeur doit être appliquée au conteneur d’éléments qui a une certaine ItemsControl.AlternationIndex valeur. 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.