GroupStyle.AlternationCount Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt het aantal afwisselende GroupItem objecten opgehaald of ingesteld.
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
Waarde van eigenschap
Het aantal afwisselende GroupItem objecten.
Voorbeelden
In het volgende voorbeeld wordt een ListBox item gemaakt dat is gebonden aan een CollectionViewSource die de items in de verzameling groepeert. In het voorbeeld wordt de achtergrond voor de koptekst van elk GroupItem tussen twee kleuren door het volgende te doen:
Wordt AlternationCount ingesteld op 2.
Hiermee maakt u een AlternationConverter die een SolidColorBrush, afhankelijk van de waarde van ItemsControl.AlternationIndex.
Verbindt de van de Background in de TextBlockHeaderTemplate eigenschap en verstrekt de ItemsControl.AlternationIndex.AlternationConverter Houd er rekening mee dat de AlternationIndex gekoppelde eigenschap is ingesteld op de GroupItemen de binding gebruikt FindAncestor om de waarde op te halen.
In het voorbeeld wordt ook de achtergrond van de items in de ListBox tussen drie kleuren afgewisseld door het AlternationCount instellen van de items op de ListBox en het Background binden van de ListBox items aan de ItemsControl.AlternationIndex. In dit geval wisselt de achtergrond tussen drie kleuren.
De CollectionViewSource items worden niet weergegeven. Zie Procedure voor informatie over het groeperen van items: Gegevens sorteren en groeperen met behulp van een weergave in 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>
Opmerkingen
Met de AlternationCount eigenschap en de ItemsControl.AlternationIndex gekoppelde eigenschap kunt u het uiterlijk voor twee of meer afwisselende GroupItem objecten opgeven. U kunt bijvoorbeeld afwisselende achtergrondkleuren opgeven voor elke derde GroupItem in een ItemsControl. De ItemsControl.AlternationIndex is toegewezen aan elk GroupItem in de ItemsControl. ItemsControl.AlternationIndex begint bij 0, incrementeert totdat het min 1 is AlternationCount en start vervolgens opnieuw op 0. Als dit bijvoorbeeld AlternationCount 3 is en er zeven GroupItem objecten in de ItemsControltabel staan, wordt in de volgende tabel het ItemsControl.AlternationIndex voor elk item vermeld.
| Positie van GroupItem in de ItemsControl | ItemsControl.AlternationIndex |
|---|---|
| 1 | 0 |
| 2 | 1 |
| 3 | 2 |
| 4 | 0 |
| 5 | 1 |
| 6 | 2 |
| 7 | 0 |
Er zijn verschillende methoden die u kunt gebruiken om verschillende weergaven voor de afwisselende GroupItem objecten op te geven. Een methode is het binden van eigenschappen in de HeaderTemplate of ContainerStyle van de GroupStyleItemsControl.AlternationIndex. Vervolgens kunt u een AlternationConverter waarde opgeven om op te geven welke waarde moet worden toegepast op de GroupItem waarde met een bepaalde ItemsControl.AlternationIndex waarde. U kunt triggers ook gebruiken om de waarde van een eigenschap te wijzigen, afhankelijk van de waarde van ItemsControl.AlternationIndexde eigenschap.