GroupStyle.AlternationCount Propriété
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 ou définit le nombre d'objets GroupItem de remplacement.
public:
property int AlternationCount { int get(); void set(int value); };
public int AlternationCount { get; set; }
member this.AlternationCount : int with get, set
Public Property AlternationCount As Integer
Valeur de propriété
Nombre d'objets GroupItem de remplacement.
Exemples
L’exemple suivant crée un ListBox qui est lié à un CollectionViewSource qui regroupe les éléments de la collection. L’exemple montre comment alterner l’arrière-plan de l’en-tête de chacun GroupItem entre deux couleurs en procédant comme suit :
Définit sur AlternationCount 2.
Crée un AlternationConverter qui retourne un SolidColorBrush, en fonction de la valeur de ItemsControl.AlternationIndex.
Lie le Background de dans TextBlock à HeaderTemplate la ItemsControl.AlternationIndex propriété et fournit le AlternationConverter. Notez que la AlternationIndex propriété jointe est définie sur le GroupItemet que la liaison utilise FindAncestor pour obtenir sa valeur.
L’exemple alterne également l’arrière-plan des éléments dans le ListBox entre trois couleurs en définissant sur AlternationCount le ListBox et en liant le Background de chaque ListBox à .ItemsControl.AlternationIndex Dans ce cas, l’arrière-plan alterne entre trois couleurs.
Le CollectionViewSource qui regroupe les éléments n’est pas affiché. Pour plus d’informations sur la façon de regrouper un élément, consultez Guide pratique pour trier et regrouper des données à l’aide d’une vue en XAML.
<StackPanel>
<StackPanel.Resources>
<!--Returns a Brush for the header of a GroupItem.-->
<AlternationConverter x:Key="GroupHeaderBackgroundConverter">
<SolidColorBrush>LightBlue</SolidColorBrush>
<SolidColorBrush>LightSteelBlue</SolidColorBrush>
</AlternationConverter>
<!--Returns a Brush for a ListBoxItem.-->
<AlternationConverter x:Key="BackgroundConverter">
<SolidColorBrush>Silver</SolidColorBrush>
<SolidColorBrush>LightGray</SolidColorBrush>
<SolidColorBrush>GhostWhite</SolidColorBrush>
</AlternationConverter>
</StackPanel.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource groupedData}}"
DisplayMemberPath="CityName" AlternationCount="3" Name="lb">
<ListBox.GroupStyle>
<!--Set alternating backgrounds on the header of each group.-->
<GroupStyle AlternationCount="2">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold"
Text="{Binding Path=Name}"
Background="{Binding
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type GroupItem}},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource
GroupHeaderBackgroundConverter}}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemContainerStyle>
<!--Set alternating backgrounds on the items in the ListBox.-->
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Background"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource BackgroundConverter}}"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</StackPanel>
Remarques
La AlternationCount propriété et la ItemsControl.AlternationIndex propriété jointe vous permettent de spécifier l’apparence de deux objets alternatifs GroupItem ou plus. Par exemple, vous pouvez spécifier des couleurs d’arrière-plan alternées pour chaque tiers GroupItem d’un ItemsControl. le ItemsControl.AlternationIndex est affecté à chaque GroupItem dans le ItemsControl. ItemsControl.AlternationIndex commence à 0, s’incrémente jusqu’à ce qu’elle soit AlternationCount moins 1, puis redémarre à 0. Par exemple, si AlternationCount a la valeur 3 et qu’il y a sept GroupItem objets dans , ItemsControlle tableau suivant répertorie le ItemsControl.AlternationIndex pour chaque élément.
Position de GroupItem 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 objets alternatifs GroupItem . Une méthode consiste à lier les propriétés dans ou HeaderTemplateContainerStyle du GroupStyle à .ItemsControl.AlternationIndex Vous pouvez ensuite utiliser un AlternationConverter pour spécifier la valeur à appliquer au GroupItem qui a une certaine ItemsControl.AlternationIndex valeur. Vous pouvez également utiliser des déclencheurs pour modifier la valeur d’une propriété en fonction de la valeur de son ItemsControl.AlternationIndex.