ItemsControl.ItemsPanel Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Vorlage ab (bzw. legt diese fest), mit der der Bereich definiert wird, der das Layout der Elemente steuert.
public:
property System::Windows::Controls::ItemsPanelTemplate ^ ItemsPanel { System::Windows::Controls::ItemsPanelTemplate ^ get(); void set(System::Windows::Controls::ItemsPanelTemplate ^ value); };
[System.ComponentModel.Bindable(false)]
public System.Windows.Controls.ItemsPanelTemplate ItemsPanel { get; set; }
[<System.ComponentModel.Bindable(false)>]
member this.ItemsPanel : System.Windows.Controls.ItemsPanelTemplate with get, set
Public Property ItemsPanel As ItemsPanelTemplate
Eigenschaftswert
Eine ItemsPanelTemplate, die den Bereich für das Layout der Elemente definiert. Der Standardwert für das ItemsControl ist eine ItemsPanelTemplate, die ein StackPanel angibt.
- Attribute
Beispiele
Um eine ListBoxhorizontale Vorlage zu erstellen, können Sie eine Vorlage erstellen, die eine horizontale StackPanel Vorlage angibt und sie als ItemsPanel Eigenschaft festlegen. Im folgenden Beispiel wird ein ListBox Style horizontales ListBoxObjekt erstellt.
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
Im folgenden Beispiel wird eine ControlTemplate horizontale ListBox , gerundete Ecke erstellt. In diesem Beispiel wird anstelle des Festlegens der Eigenschaft wie im vorherigen Beispiel die ItemsPanel horizontale StackPanel Eigenschaft innerhalb des ControlTemplateBereichs angegeben. Die IsItemsHost Eigenschaft wird true
auf den Wert festgelegt, der StackPanelangibt, dass die generierten Elemente im Bereich wechseln sollen. Wenn Sie diese Methode angeben, kann dies ItemsPanel nicht durch den Benutzer des Steuerelements ersetzt werden, ohne eine ControlTemplatezu verwenden. Führen Sie daher nur dies aus, wenn Sie wissen, dass das Panel nicht ersetzt werden soll, ohne dass eine Vorlage verwendet wird.
<Style TargetType="ListBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"
IsItemsHost="True"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Alternativ können Sie folgendes ausführen, um dieselben Ergebnisse zu erzielen. In diesem Fall erstellt der ItemsPresenter Bereich für das Layout der Elemente basierend auf dem, was von dem ItemsPanelTemplateangegeben wird.
<Style TargetType="{x:Type ListBox}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border CornerRadius="5"
Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Hinweise
Für das ListBox, der Standard ItemsPanelTemplate gibt die VirtualizingStackPanel. Für MenuItem, die Standard verwendet WrapPanel. Für StatusBar, die Standard verwendet DockPanel.
Um das Layout der Elemente in einem ItemsControlElement zu beeinflussen, verwenden Sie diese Eigenschaft, um eine ItemsPanelTemplate.
Dies ItemsControl bietet eine große Flexibilität für visuelle Anpassungen und bietet viele Formatierungs- und Templatingeigenschaften. Sie verwenden die ItemContainerStyle Eigenschaft oder die ItemContainerStyleSelector Eigenschaft, um eine Formatvorlage festzulegen, um die Darstellung der Elemente zu beeinflussen, die die Datenelemente enthalten. Für beispielsweise sind die generierten Container Steuerelemente; für ListBoxComboBox, sie sind ListBoxItem ComboBoxItem Steuerelemente. Wenn Sie die Gruppierung auf Ihrem Steuerelement verwenden, können Sie die Eigenschaft oder die GroupStyle GroupStyleSelector Eigenschaft verwenden. Verwenden Sie zum Angeben der Visualisierung der Datenobjekte die ItemTemplate Eigenschaft oder die ItemTemplateSelector Eigenschaft. Weitere Informationen finden Sie unter Übersicht über Datenvorlagen.
Informationen zur Abhängigkeitseigenschaft
Bezeichnerfeld | ItemsPanelProperty |
Metadateneigenschaften auf true festgelegt |
Keine |