ItemsControl.AlternationCount 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.
Dient zum Abrufen oder Festlegen der Anzahl der wechselnden Elementcontainer in der ItemsControl, wodurch abwechselnde Container ein eindeutiges Erscheinungsbild aufweisen können.
public:
property int AlternationCount { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
public int AlternationCount { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.AlternationCount : int with get, set
Public Property AlternationCount As Integer
Eigenschaftswert
Die Anzahl der wechselnden Elementcontainer in der ItemsControl.
- Attribute
Beispiele
Im folgenden Beispiel wird angegeben, dass die ListBox (erbt von ItemsControl) abwechselnde Elementcontainer (die vom Typ ListBoxItemsind) und für jeden einen anderen Hintergrund und Vordergrund angibt. Im Beispiel werden die Eigenschaften und Background die Eigenschaften an die ForegroundItemsControl.AlternationIndex einzelnen Eigenschaften gebunden und bereitgestelltAlternationConverter.
<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 von Trigger 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
Mit AlternationCount den Eigenschaften ItemsControl.AlternationIndex können Sie die Darstellung für zwei oder mehr abwechselnde Elementcontainer angeben. Sie können beispielsweise abwechselnde Hintergrundfarben für jedes dritte Element in einem ItemsControlElement angeben. Dies ItemsControl.AlternationIndex wird jedem Elementcontainer in der ItemsControl. ItemsControl.AlternationIndex beginnt bei 0, erhöht sich, bis es minus 1 ist AlternationCount , und startet dann bei 0 neu. Wenn es z. B. AlternationCount 3 ist und sieben Elemente in der ItemsControltabelle enthalten sind, wird in der folgenden Tabelle die ItemsControl.AlternationIndex einzelnen Elemente aufgeführt.
| Position des Elements in der ItemsControl | ItemsControl.AlternationIndex |
|---|---|
| 1 | 0 |
| 2 | 1 |
| 3 | 2 |
| 4 | 0 |
| 5 | 1 |
| 6 | 2 |
| 7 | 0 |
Es gibt mehrere Methoden, mit denen Sie unterschiedliche Darstellungen für die wechselnden Elementcontainer angeben können. Eine Methode ist das Binden von Eigenschaften des Elementcontainers an die ItemsControl.AlternationIndex. Anschließend können Sie mithilfe eines AlternationConverter Werts angeben, welcher 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.