GroupStyle.AlternationCount Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia liczbę przemiennych GroupItem obiektów.
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
Wartość właściwości
Liczba przemiennych GroupItem obiektów.
Przykłady
Poniższy przykład tworzy element ListBox powiązany z elementem CollectionViewSource , który grupuje elementy w kolekcji. Przykład zmienia tło nagłówka każdego GroupItem między dwoma kolorami, wykonując następujące czynności:
Ustawia AlternationCount wartość 2.
Tworzy obiekt AlternationConverter , który zwraca wartość SolidColorBrush, w zależności od wartości ItemsControl.AlternationIndex.
Background Tworzy powiązanie elementu TextBlock w obiekcie HeaderTemplate z właściwością ItemsControl.AlternationIndex i udostępnia element AlternationConverter. Należy pamiętać, że AlternationIndex dołączona właściwość jest ustawiona na elemecie GroupItem, a powiązanie używa FindAncestor do pobrania jego wartości.
W przykładzie jest również alternatywne tło elementów w ListBox trzech kolorach, ustawiając AlternationCount wartość na i ListBox wiążąc Background poszczególne ListBox elementy z elementami ItemsControl.AlternationIndex. W tym przypadku tło jest alternatywne między trzema kolorami.
Ta CollectionViewSource grupa elementów nie jest wyświetlana. Aby uzyskać informacje na temat grupowania elementów, zobacz Instrukcje: sortowanie i grupowanie danych przy użyciu widoku w języku 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>
Uwagi
Właściwość AlternationCount i ItemsControl.AlternationIndex dołączona właściwość umożliwiają określenie wyglądu dwóch lub większej liczby obiektów naprzemiennej GroupItem . Na przykład można określić naprzemienne kolory tła dla każdej trzeciej GroupItem w elemencie ItemsControl. Element ItemsControl.AlternationIndex jest przypisywany do każdego GroupItem elementu w elemecie ItemsControl. ItemsControl.AlternationIndex zaczyna się od 0, zwiększa się do AlternationCount momentu minus 1, a następnie ponownie uruchamia się o 0. Jeśli na przykład AlternationCount wartość to 3, a w poniższej tabeli znajduje się siedem GroupItem obiektów, w poniższej ItemsControltabeli wymieniono ItemsControl.AlternationIndex wartości dla każdego elementu.
Pozycja w elemecie GroupItemItemsControl | ItemsControl.AlternationIndex |
---|---|
1 | 0 |
2 | 1 |
3 | 2 |
4 | 0 |
5 | 1 |
6 | 2 |
7 | 0 |
Istnieje kilka metod, których można użyć do określenia różnych wyglądów obiektów naprzemiennej GroupItem . Jedną z metod jest powiązanie właściwości w HeaderTemplate obiekcie lub ContainerStyleGroupStyle z elementem ItemsControl.AlternationIndex. Następnie można użyć elementu , AlternationConverter aby określić, która wartość powinna być stosowana do GroupItem wartości, która ma określoną ItemsControl.AlternationIndex wartość. Możesz również użyć wyzwalaczy, aby zmienić wartość właściwości w zależności od wartości jej ItemsControl.AlternationIndex.