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プロパティが有効にすると、2 つ以上の代替項目コンテナーの表示方法を指定します。The AlternationCount and ItemsControl.AlternationIndex properties enable you to specify the appearance for two or more alternating item containers. すべて 3 番目の項目の背景色を交互に指定するなど、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. 1 つのメソッドは、項目コンテナーのプロパティをバインドする、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.

適用対象