ItemsControl.AlternationCount Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il numero di contenitori di elementi alternativi in ItemsControl, che consente ai contenitori alternativi di avere un aspetto univoco.
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
Valore della proprietà
Numero di contenitori di elementi alternativi in ItemsControl.
- Attributi
Esempio
Nell'esempio seguente viene specificato che l'oggetto ListBox (che eredita da ItemsControl) ha contenitori di elementi alternati (che sono di tipo ListBoxItem) e specifica uno sfondo e un primo piano diversi per ognuno di essi. L'esempio associa le Background proprietà e all'oggetto ItemsControl.AlternationIndex e Foreground fornisce un AlternationConverter oggetto per ogni proprietà.
<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>
Nell'esempio seguente viene eseguita la stessa dell'esempio precedente usando Trigger oggetti.
<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>
Commenti
Le AlternationCount proprietà e ItemsControl.AlternationIndex consentono di specificare l'aspetto per due o più contenitori di elementi alternati. Ad esempio, è possibile specificare colori di sfondo alternati per ogni terzo elemento in un ItemsControloggetto . L'oggetto ItemsControl.AlternationIndex viene assegnato a ogni contenitore di elementi nell'oggetto ItemsControl. ItemsControl.AlternationIndex inizia a 0, incrementa fino a quando non è AlternationCount meno 1 e quindi riavvia a 0. Ad esempio, se AlternationCount è 3 e sono presenti sette elementi nella ItemsControltabella seguente elenca gli ItemsControl.AlternationIndex elementi per ogni elemento.
Posizione dell'elemento nell'oggetto ItemsControl | ItemsControl.AlternationIndex |
---|---|
1 | 0 |
2 | 1 |
3 | 2 |
4 | 0 |
5 | 1 |
6 | 2 |
7 | 0 |
Esistono diversi metodi che è possibile usare per specificare aspetti diversi per i contenitori di elementi alternativi. Un metodo consiste nell'associare le proprietà del contenitore elementi all'oggetto ItemsControl.AlternationIndex. È quindi possibile usare un AlternationConverter oggetto per specificare quale valore deve essere applicato al contenitore di elementi con un determinato ItemsControl.AlternationIndex valore. È anche possibile usare trigger per modificare il valore della proprietà di un contenitore di elementi a seconda del valore del relativo ItemsControl.AlternationIndex.