ItemsControl.AlternationIndex Toegevoegde 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 haalt u de toegewezen waarde van de itemcontainer op wanneer afwisselende itemcontainers worden gebruikt.
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
Voorbeelden
In het volgende voorbeeld wordt aangegeven dat de ListBox (die overneemt van ItemsControl) afwisselende itemcontainers (die van het type zijn) en een andere achtergrond en voorgrond voor elk item ListBoxItemheeft. In het voorbeeld worden de Background en Foreground eigenschappen aan de ItemsControl.AlternationIndex eigenschap gekoppeld en wordt een AlternationConverter voor elke eigenschap opgegeven.
<Grid>
<Grid.Resources>
<AlternationConverter x:Key="BackgroundConverter">
<SolidColorBrush>Blue</SolidColorBrush>
<SolidColorBrush>CornflowerBlue</SolidColorBrush>
<SolidColorBrush>LightBlue</SolidColorBrush>
</AlternationConverter>
<AlternationConverter x:Key="AlternateForegroundConverter">
<SolidColorBrush>White</SolidColorBrush>
<SolidColorBrush>Black</SolidColorBrush>
<SolidColorBrush>Navy</SolidColorBrush>
</AlternationConverter>
<Style x:Key="alternatingWithBinding" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource BackgroundConverter}}"/>
<Setter Property="Foreground"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource AlternateForegroundConverter}}"/>
</Style>
</Grid.Resources>
<ListBox AlternationCount="3" ItemsSource="{StaticResource data}"
ItemContainerStyle="{StaticResource alternatingWithBinding}"/>
</Grid>
Het volgende voorbeeld doet hetzelfde als in het vorige voorbeeld met behulp van Trigger objecten.
<Grid>
<Grid.Resources>
<Style x:Key="alternatingWithTriggers" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
<Style.Triggers>
<Trigger Property="ListBox.AlternationIndex" Value="1">
<Setter Property="Background" Value="CornflowerBlue"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="ListBox.AlternationIndex" Value="2">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Foreground" Value="Navy"/>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<ListBox AlternationCount="3" ItemsSource="{StaticResource data}"
ItemContainerStyle="{StaticResource alternatingWithTriggers}">
</ListBox>
</Grid>
Opmerkingen
Met de AlternationCount en ItemsControl.AlternationIndex eigenschappen kunt u het uiterlijk voor twee of meer afwisselende itemcontainers opgeven. U kunt bijvoorbeeld afwisselende achtergrondkleuren opgeven voor elk derde item in een ItemsControl. De ItemsControl.AlternationIndex is toegewezen aan elke itemcontainer 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 items in de ItemsControltabel staan, wordt in de volgende tabel het ItemsControl.AlternationIndex voor elk item vermeld.
| Positie van item 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 op te geven voor de containers voor afwisselende items. Een methode is het binden van eigenschappen van de itemscontainer aan de ItemsControl.AlternationIndex. Vervolgens kunt u een AlternationConverter waarde opgeven die moet worden toegepast op de itemcontainer met een bepaalde ItemsControl.AlternationIndex waarde. U kunt triggers ook gebruiken om de waarde van de eigenschap van een itemcontainer te wijzigen, afhankelijk van de waarde van ItemsControl.AlternationIndexde eigenschap.