ItemsControl.AlternationIndex 附加屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
有使用替代項目容器時,取得項目容器受指派的值。
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex
範例
下列範例會 ListBox 指定繼承自 ItemsControl) 的 (具有替代專案容器 (類型 ListBoxItem 為) ,並為每個容器指定不同的背景和前景。 此範例會將 Background 和 Foreground 屬性系結至 ItemsControl.AlternationIndex ,並提供每個屬性的 AlternationConverter 。
<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>
下列範例會使用 Trigger 物件,執行與上一個範例相同的作業。
<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>
備註
AlternationCount和 ItemsControl.AlternationIndex 屬性可讓您指定兩個或多個替代專案容器的外觀。 例如,您可以指定 中 ItemsControl 每三個專案的替代背景色彩。 會 ItemsControl.AlternationIndex 指派給 中的每個 ItemsControl 專案容器。 ItemsControl.AlternationIndex 從 0 開始,遞增直到 AlternationCount 減 1,然後在 0 重新開機。 例如,如果 AlternationCount 是 3,而且 中有 ItemsControl 七個專案,下表會列出 ItemsControl.AlternationIndex 每個專案的 。
專案在 中的位置 ItemsControl | ItemsControl.AlternationIndex |
---|---|
1 | 0 |
2 | 1 |
3 | 2 |
4 | 0 |
5 | 1 |
6 | 2 |
7 | 0 |
有數種方法可用來指定替代專案容器的不同外觀。 其中一個方法是將專案容器的屬性系結至 ItemsControl.AlternationIndex 。 然後 AlternationConverter ,您可以使用 來指定應套用至具有特定 ItemsControl.AlternationIndex 值的專案容器的值。 您也可以使用觸發程式,根據專案容器的值來變更專案 ItemsControl.AlternationIndex 容器的 屬性值。