Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

ItemsControl.AlternationCount-Eigenschaft

Ruft die Anzahl der abwechselnden Elementcontainer im ItemsControl ab, wodurch abwechselnde Elementcontainer ein einheitliches Aussehen aufweisen können, oder legt diese fest.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[BindableAttribute(true)]
public int AlternationCount { get; set; }
<object AlternationCount="int" .../>

Eigenschaftswert

Typ: System.Int32
Die Anzahl der abwechselnden Elementcontainer im ItemsControl.

Der AlternationCount und die ItemsControl.AlternationIndex Eigenschaften ermöglichen Ihnen, die Darstellung für zwei oder mehrere abwechselnde Elementcontainer anzugeben. Beispielsweise können Sie abwechselnde Hintergrundfarben für jedes dritte Element in einem ItemsControl angeben. ItemsControl.AlternationIndex wird jedem Elementcontainer in ItemsControl zugewiesen. ItemsControl.AlternationIndex beginnt bei 0 und wird inkrementiert, bis der AlternationCount minus 1 beträgt, anschließend erfolgt ein Neustart bei 0. Wenn zum Beispiel AlternationCount 3 ist und es sieben Elemente im ItemsControl gibt, ist in der folgenden Tabelle der ItemsControl.AlternationIndex für jedes Element aufgeführt.

Die Position des Elements im ItemsControl.

ItemsControl.AlternationIndex

1

0

2

1

3

2

4

0

5

1

6

2

7

0

Es gibt mehrere Methoden, mit denen Sie unterschiedliche Darstellungen für abwechselnde Elementcontainer angeben können. Ein Verfahren besteht im Binden der Eigenschaften des Elementcontainers an den ItemsControl.AlternationIndex. Sie können dann mit einem AlternationConverter angeben, welcher Wert auf den Elementcontainer mit einem bestimmten ItemsControl.AlternationIndex-Wert angewendet werden soll. Abhängig vom Wert des ItemsControl.AlternationIndex können Sie den Wert der Eigenschaft eines Elementcontainers auch mit Triggern ändern.

Im folgenden Beispiel wird angegeben, dass die ListBox (die von ItemsControl erbt) über abwechselnde Elementcontainer (vom Typ ListBoxItem) verfügt, und für jeden sind ein anderer Hintergrund und ein anderer Vordergrund angegeben. Die Background-Eigenschaft und die Foreground-Eigenschaft werden an den ItemsControl.AlternationIndex gebunden, und für jede Eigenschaft wird ein AlternationConverter angegeben.


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


Im folgenden Beispiel wird derselbe Vorgang wie im vorherigen Beispiel mit Trigger-Objekten ausgeführt.


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


.NET Framework

Unterstützt in: 4, 3.5 SP1, 3.0 SP2

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Anzeigen: