GroupStyle.AlternationCount Eigenschap

Definitie

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:

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.

Van toepassing op