(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ItemsControl.ItemContainerStyle-Eigenschaft

Ruft ab oder legt fest Style, das das Containerelement angewendet wird, das für jedes Element generiert wird.

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 Style ItemContainerStyle { get; set; }
<object>
  <object.ItemContainerStyle>
    <Style .../>
  </object.ItemContainerStyle>
</object>
<object ItemContainerStyle="ResourceExtension StyleResourceKey"/>

XAML-Werte

ResourceExtension

Eines der folgenden Schritte aus: StaticResourceoder DynamicResource. Sofern die Stile auch Verweise auf die möglichen Common Language Runtime verweisen oder Systemressourcen wie Benutzer enthalten, wird StaticResource Verweis auf einen Stil in der Regel zur Leistungsoptimierung empfohlen.

StyleResourceKey

x:Key Zeichenfolgenwert, der das Format angefordert wird als Ressource verweist.

Eigenschaftswert

Typ: System.Windows.Style
Style , das das Containerelement angewendet wird, generiert für jedes Element. Der Standardwert ist null.

Bezeichnerfeld

ItemContainerStyleProperty

true festgelegte Metadateneigenschaften

Kein

Sie verwenden diese Eigenschaft oder die ItemContainerStyleSelector-Eigenschaft, um einen Stil festzulegen, um die Darstellung der Elemente zu beeinflussen, die die Datenelemente enthalten. Zum Beispiel für ListBox, gehen die generierten Container ListBoxItem-Steuerelemente. ComboBoxsind sie für ComboBoxItem-Steuerelemente.

ItemsControl stellt große Flexibilität für die visuelle Anpassung bereit und bietet viele Vorlagenen Formatierung und Eigenschaften. Um das Layout der Elemente zu ändern, verwenden Sie die ItemsPanel-Eigenschaft. Wenn Sie die Gruppierung auf dem Steuerelement verwenden, können Sie die GroupStyle oder GroupStyleSelector-Eigenschaft verwenden. Um die Visualisierung von Datenobjekten anzugeben, verwenden Sie die ItemTemplate oder ItemTemplateSelector-Eigenschaft. Weitere Informationen dazu, wann ItemTemplatefinden Sie unter angibt Übersicht über Datenvorlagen.

Im folgenden Beispiel wird veranschaulicht, wie diese Eigenschaft verwendet wird. Betrachten Sie folgende datengebundene ListBox:


<ListBox ItemsSource="{Binding Source={StaticResource MyPhotos}}"
         Background="Silver" Width="600" Margin="10" SelectedIndex="0"/>


Um einen Stil für die Elemente zu erstellen, die die Datenelemente enthalten, erstellen Sie ein Format ListBoxItem, wie im folgenden Beispiel gezeigt. Das Format wird zu allen ListBoxItem-Elementen innerhalb des Bereichs angewendet, der das Format in definiert ist.


<Style TargetType="ListBoxItem">
  <Setter Property="Opacity" Value="0.5" />
  <Setter Property="MaxHeight" Value="75" />
  <Style.Triggers>
    <Trigger Property="IsSelected" Value="True">
      <Trigger.Setters>
        <Setter Property="Opacity" Value="1.0" />
      </Trigger.Setters>
    </Trigger>
    <EventTrigger RoutedEvent="Mouse.MouseEnter">
      <EventTrigger.Actions>
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation
              Duration="0:0:0.2"
              Storyboard.TargetProperty="MaxHeight"
              To="90"  />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger.Actions>
    </EventTrigger>
    <EventTrigger RoutedEvent="Mouse.MouseLeave">
      <EventTrigger.Actions>
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation
              Duration="0:0:1"
              Storyboard.TargetProperty="MaxHeight"  />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger.Actions>
    </EventTrigger>
  </Style.Triggers>
</Style>


ListBoxItem ist das Containerelement für das ListBox-Steuerelement. Daher ist eine Alternative zum Vorausgehen, die ItemContainerStyle-Eigenschaft ListBox dem definierten Format festzulegen. Um das zu erreichen, geben Sie das Format ListBoxItemx:Key weshalb es als Ressource verfügbar:


<Style TargetType="ListBoxItem" x:Key="ContainerStyle">
  <Setter Property="Opacity" Value="0.5" />
  <Setter Property="Opacity" Value="0.5" />
  <Setter Property="MaxHeight" Value="75" />
  <Style.Triggers>
    <Trigger Property="IsSelected" Value="True">
      <Setter Property="Opacity" Value="1.0" />
    </Trigger>


...


  </Style.Triggers>
</Style>


Als Nächstes legen Sie die ItemContainerStyle-Eigenschaft auf die Ressource fest, wie im folgenden Beispiel gezeigt:


<ListBox ItemsSource="{Binding Source={StaticResource MyPhotos}}"
         ItemContainerStyle="{StaticResource ContainerStyle}" 
         Background="Silver" Width="600" Margin="10" SelectedIndex="0"/>


Beide der vorangehenden Szenarien liefern das gleiche Ergebnis. Bei einer der Vorteile der Position des Formats einer Ressource so auch besteht darin, dass Sie den Stil wiederverwenden können. Das Festlegen der ItemContainerStyle-Eigenschaft kann größere Lesbarkeit explizit bereitstellen.

Das vollständige Beispiel finden Sie Einführung formatieren und Vorlagenen-zum Beispielunter.

Im folgenden Beispiel wurde entworfen, um die Funktion des jeweils anderen Formatierung und Vorlagen der verknüpften Eigenschaften zu veranschaulichen ItemsControlvon bereitgestellt. ItemsControl In diesem Beispiel wird Task an eine Auflistung von Objekten gebunden. Zu Demonstrationszwecken werden alle Stile und Vorlagen in diesem Beispiel inline deklariert.


<ItemsControl Margin="10"
              ItemsSource="{Binding Source={StaticResource myTodoList}}">
  <!--The ItemsControl has no default visual appearance.
      Use the Template property to specify a ControlTemplate to define
      the appearance of an ItemsControl. The ItemsPresenter uses the specified
      ItemsPanelTemplate (see below) to layout the items. If an
      ItemsPanelTemplate is not specified, the default is used. (For ItemsControl,
      the default is an ItemsPanelTemplate that specifies a StackPanel.-->
  <ItemsControl.Template>
    <ControlTemplate TargetType="ItemsControl">
      <Border BorderBrush="Aqua" BorderThickness="1" CornerRadius="15">
        <ItemsPresenter/>
      </Border>
    </ControlTemplate>
  </ItemsControl.Template>
  <!--Use the ItemsPanel property to specify an ItemsPanelTemplate
      that defines the panel that is used to hold the generated items.
      In other words, use this property if you want to affect
      how the items are laid out.-->
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <WrapPanel />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
  <!--Use the ItemTemplate to set a DataTemplate to define
      the visualization of the data objects. This DataTemplate
      specifies that each data object appears with the Proriity
      and TaskName on top of a silver ellipse.-->
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <DataTemplate.Resources>
        <Style TargetType="TextBlock">
          <Setter Property="FontSize" Value="18"/>
          <Setter Property="HorizontalAlignment" Value="Center"/>
        </Style>
      </DataTemplate.Resources>
      <Grid>
        <Ellipse Fill="Silver"/>
        <StackPanel>
          <TextBlock Margin="3,3,3,0"
                     Text="{Binding Path=Priority}"/>
          <TextBlock Margin="3,0,3,7"
                     Text="{Binding Path=TaskName}"/>
        </StackPanel>
      </Grid>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
  <!--Use the ItemContainerStyle property to specify the appearance
      of the element that contains the data. This ItemContainerStyle
      gives each item container a margin and a width. There is also
      a trigger that sets a tooltip that shows the description of
      the data object when the mouse hovers over the item container.-->
  <ItemsControl.ItemContainerStyle>
    <Style>
      <Setter Property="Control.Width" Value="100"/>
      <Setter Property="Control.Margin" Value="5"/>
      <Style.Triggers>
        <Trigger Property="Control.IsMouseOver" Value="True">
          <Setter Property="Control.ToolTip"
                  Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                          Path=Content.Description}"/>
        </Trigger>
      </Style.Triggers>
    </Style>
  </ItemsControl.ItemContainerStyle>
</ItemsControl>


Im Folgenden finden Sie eine Bildschirmaufnahme des Beispiels, wenn er gerendert wird:

Bildschirmabbildung für ein ItemsControl-Beispiel

Zwei andere formatbezogene Eigenschaften ItemsControl, die hier nicht angezeigt werden, sind GroupStyle und GroupStyleSelector.

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.