GroupStyle.AlternationCount Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen der Anzahl der abwechselnden GroupItem Objekte.
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
Eigenschaftswert
Die Anzahl der abwechselnden GroupItem Objekte.
Beispiele
Im folgenden Beispiel wird ein ListBox Objekt erstellt, das an eine CollectionViewSource Gruppe der Elemente in der Auflistung gebunden ist. Im Beispiel wird der Hintergrund für die Kopfzeile der einzelnen GroupItem Farben durch die folgenden Aktionen abgewechselt:
Legt den Wert AlternationCount 2 fest.
Erstellt ein, das einen AlternationConverterSolidColorBrush, abhängig vom Wert von ItemsControl.AlternationIndex.
Bindet die Background des Ins TextBlock an die HeaderTemplateItemsControl.AlternationIndex Eigenschaft und stellt die AlternationConverter. Beachten Sie, dass die AlternationIndex angefügte Eigenschaft für das GroupItemObjekt festgelegt ist und die Bindung verwendet FindAncestor wird, um den Wert abzurufen.
Das Beispiel wechselt auch den Hintergrund der Elemente in den ListBox zwischen drei Farben, indem sie für AlternationCount die ListBox einzelnen Elemente und die Bindung an Background die ItemsControl.AlternationIndexeinzelnen ListBox Farben festlegen. In diesem Fall wechselt der Hintergrund zwischen drei Farben.
Die CollectionViewSource Gruppen der Elemente werden nicht angezeigt. Informationen zum Gruppieren von Elementen finden Sie unter How to: Sort and Group Data Using a View 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>
Hinweise
Mit AlternationCount der Eigenschaft und der ItemsControl.AlternationIndex angefügten Eigenschaft können Sie die Darstellung für zwei oder mehr abwechselnde GroupItem Objekte angeben. Sie können z. B. abwechselnde Hintergrundfarben für jedes Dritte GroupItem in einem ItemsControl. Die ItemsControl.AlternationIndex wird jedem GroupItem in der ItemsControl. ItemsControl.AlternationIndex beginnt bei 0, erhöht sich, bis es minus 1 ist AlternationCount , und startet dann bei 0 neu. Wenn es z. B. AlternationCount 3 ist und in der ItemsControlfolgenden Tabelle sieben GroupItem Objekte vorhanden sind, wird in der folgenden Tabelle die ItemsControl.AlternationIndex einzelnen Elemente aufgeführt.
| Position in GroupItem der ItemsControl | ItemsControl.AlternationIndex |
|---|---|
| 1 | 0 |
| 2 | 1 |
| 3 | 2 |
| 4 | 0 |
| 5 | 1 |
| 6 | 2 |
| 7 | 0 |
Es gibt mehrere Methoden, mit denen Sie unterschiedliche Darstellungen für die abwechselnden GroupItem Objekte angeben können. Eine Methode besteht darin, Eigenschaften an die HeaderTemplate Oder ContainerStyle an GroupStyle die .ItemsControl.AlternationIndex Anschließend können Sie mithilfe eines AlternationConverter Werts angeben, welcher Wert auf einen GroupItem bestimmten ItemsControl.AlternationIndex Wert angewendet werden soll. Sie können auch Trigger verwenden, um den Wert einer Eigenschaft abhängig vom Wert der ItemsControl.AlternationIndexEigenschaft zu ändern.