ItemsControl.AlternationIndex ItemsControl.AlternationIndex ItemsControl.AlternationIndex Attached Property

정의

교대로 반복되는 항목 컨테이너가 사용되는 경우 항목 컨테이너의 할당된 값을 가져옵니다.Gets the assigned value of the item container when alternating item containers are used.

see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex
see GetAlternationIndex, and SetAlternationIndex

예제

다음 예제에서는 지정 된 ListBox (에서 상속 하는 ItemsControl) 교대로 반복 되는 항목 컨테이너에 (유형을 ListBoxItem) 다른 배경 및 전경 각각에 대해 지정 합니다.The following example specifies that the ListBox (which inherits from ItemsControl) has alternating item containers (which are of type ListBoxItem) and specifies a different background and foreground for each one. 예제는 BackgroundForeground 속성을 합니다 ItemsControl.AlternationIndex 제공는 AlternationConverter 각 속성에 대 한.The example binds the Background and Foreground properties to the ItemsControl.AlternationIndex and provides an AlternationConverter for each property.

<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 개체입니다.The following example does the same as the previous example by using Trigger objects.

<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>

설명

합니다 AlternationCountItemsControl.AlternationIndex 속성을 사용 하면 두 개 이상의 교대로 반복 되는 항목 컨테이너에 대 한 모양을 지정할 수 있습니다.The AlternationCount and ItemsControl.AlternationIndex properties enable you to specify the appearance for two or more alternating item containers. 예를 들어, 모든 세 번째 항목에 대해 교대로 반복 되는 배경 색을 지정할 수 있습니다는 ItemsControl합니다.For example, you can specify alternating background colors for every third item in an ItemsControl. ItemsControl.AlternationIndex 각 항목 컨테이너에 할당 되는 ItemsControl합니다.The ItemsControl.AlternationIndex is assigned to each item container in the ItemsControl. ItemsControl.AlternationIndex 0에서 시작 될 때까지 증가, AlternationCount 1이 고, 한 다음 다시 0에서 뺀 값입니다.ItemsControl.AlternationIndex begins at 0, increments until it is AlternationCount minus 1, and then restarts at 0. 예를 들어, 경우 AlternationCount 이 3이 고에 7 개의 항목이 있는 ItemsControl, 다음 표에서 ItemsControl.AlternationIndex 각 항목에 대 한 합니다.For example, if AlternationCount is 3 and there are seven items in the ItemsControl, the following table lists the ItemsControl.AlternationIndex for each item.

항목의 위치는 ItemsControlPosition of Item in the ItemsControl ItemsControl.AlternationIndex
11 00
22 11
33 22
44 00
55 11
66 22
77 00

교대로 반복 되는 항목 컨테이너에 대해 다른 모양을 지정 하 여 여러 가지가 있습니다.There are several methods you can use to specify different appearances for the alternating item containers. 한 가지 방법은 항목 컨테이너의 속성에 바인딩하는 ItemsControl.AlternationIndex합니다.One method is to bind properties of the items container to the ItemsControl.AlternationIndex. 사용할 수 있습니다는 AlternationConverter 특정 된 항목 컨테이너에 적용 되어야 하는 값을 지정 하려면 ItemsControl.AlternationIndex 값입니다.You can then use an AlternationConverter to specify which value should be applied to the item container that has a certain ItemsControl.AlternationIndex value. 값에 따라 항목 컨테이너의 속성의 값을 변경 하려면 트리거를 사용할 수도 있습니다는 ItemsControl.AlternationIndex합니다.You can also use triggers to change the value of an item container's property depending on the value of its ItemsControl.AlternationIndex.

적용 대상