ItemsControl.AlternationCount 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置 ItemsControl 中的交替项容器的数目,该控件可使交替容器具有唯一外观。
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
属性值
ItemsControl 中交替项容器的数目。
- 属性
示例
以下示例指定 ListBox 从 ItemsControl) 继承的 (具有交替项容器 (类型 ListBoxItem 为) ,并为每个容器指定不同的背景和前景。 该示例将属性BackgroundForeground和属性绑定到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 属性可以指定两个或多个交替项容器的外观。 For example, you can specify alternating background colors for every third item in an ItemsControl. The ItemsControl.AlternationIndex is assigned to each item container in the 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。