GroupStyle.AlternationCount Właściwość

Definicja

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:

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.

Dotyczy