ItemsControl.AlternationIndex Angefügte 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.
Ruft den zugewiesenen Wert des Elementcontainers ab, wenn Container für abwechselnde Elemente verwendet werden.
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
Beispiele
Im folgenden Beispiel wird angegeben, dass der ListBox (von ) geerbte ItemsControl(erbte) wechselige Elementcontainer (die vom Typ ListBoxItemsind) verfügt und für jeden einen anderen Hintergrund und Vordergrund angibt. Im Beispiel werden die und Foreground die Eigenschaften an die ItemsControl.AlternationIndex Background einzelnen Eigenschaften gebunden und für AlternationConverter jede Eigenschaft bereitgestellt.
<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>
Im folgenden Beispiel wird dasselbe wie im vorherigen Beispiel mithilfe Trigger von Objekten ausgeführt.
<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>
Hinweise
ItemsControl.AlternationIndex Mit AlternationCount den Eigenschaften können Sie die Darstellung für zwei oder mehr alternierende Elementcontainer angeben. Sie können z. B. für jedes dritte Element in einem ItemsControlAnderen hintergrundfarben angeben. Dies ItemsControl.AlternationIndex wird jedem Elementcontainer im .ItemsControl ItemsControl.AlternationIndex beginnt bei 0, wächst, bis es minus 1 ist AlternationCount , und startet dann bei 0 neu. Wenn AlternationCount es z. B. 3 ist und sieben Elemente in der ItemsControlfolgenden Tabelle enthalten sind, werden für jedes Element die ItemsControl.AlternationIndex folgenden Tabellen aufgelistet.
Position des Elements im ItemsControl | ItemsControl.AlternationIndex |
---|---|
1 | 0 |
2 | 1 |
3 | 2 |
4 | 0 |
5 | 1 |
6 | 2 |
7 | 0 |
Es gibt mehrere Methoden, mit denen Sie verschiedene Darstellungen für die wechselseitigen Elementcontainer angeben können. Eine Methode besteht darin, Eigenschaften des Elementcontainers an den ItemsControl.AlternationIndex. Sie können dann einen AlternationConverter Wert verwenden, um anzugeben, welchen Wert auf den Elementcontainer angewendet werden soll, der einen bestimmten ItemsControl.AlternationIndex Wert aufweist. Sie können auch Trigger verwenden, um den Wert der Eigenschaft eines Elementcontainers abhängig vom Wert des ItemsControl.AlternationIndexElements zu ändern.