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 horizontale ListBoxzu erstellen, können Sie eine Vorlage erstellen, die eine horizontale StackPanel angibt, und sie als ItemsPanel Eigenschaft festlegen. Das folgende Beispiel zeigt eine ListBoxStyle , die eine horizontale ListBoxerstellt.
<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 ein ControlTemplate verwendet, um eine Horizontale ListBox mit abgerundeten Ecken zu erstellen. In diesem Beispiel wird anstelle der ItemsPanel -Eigenschaft wie im vorherigen Beispiel die horizontale StackPanel in der ControlTemplateangegeben. Die IsItemsHost -Eigenschaft ist auf true
auf StackPanelfestgelegt, was angibt, dass die generierten Elemente im Bereich angezeigt werden sollen. Wenn Sie es auf diese Weise angeben, kann der ItemsPanel nicht durch den Benutzer des Steuerelements ersetzt werden, ohne ein zu ControlTemplateverwenden. Tun Sie dies daher nur, wenn Sie wissen, dass der Bereich nicht ohne Die Verwendung einer Vorlage ersetzt werden soll.
<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 die folgenden Schritte ausführen, um die gleichen Ergebnisse zu erzielen. In diesem Fall erstellt der ItemsPresenter -Bereich für das Layout der Elemente basierend auf dem, was durch angegeben ItemsPanelTemplatewird.
<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 gibt ListBoxder Standardwert ItemsPanelTemplate den VirtualizingStackPanelan. Für MenuItemverwendet WrapPanelder Standardwert . Für StatusBarverwendet DockPanelder Standardwert .
Um das Layout der Elemente in einem ItemsControlzu beeinflussen, verwenden Sie diese Eigenschaft, um ein ItemsPanelTemplateanzugeben.
Bietet ItemsControl eine große Flexibilität für die visuelle Anpassung und bietet viele Stil- und Vorlageneigenschaften. Sie verwenden die ItemContainerStyle -Eigenschaft oder - ItemContainerStyleSelector Eigenschaft, um eine Formatvorlage festzulegen, die sich auf die Darstellung der Elemente auswirkt, die die Datenelemente enthalten. Beispielsweise ListBoxsind ListBoxItem die generierten Container Steuerelemente, für ComboBoxsind ComboBoxItem sie Steuerelemente. Wenn Sie die Gruppierung für Ihr Steuerelement verwenden, können Sie die GroupStyle -Eigenschaft oder GroupStyleSelector verwenden. Verwenden Sie die -Eigenschaft oder, um die ItemTemplate Visualisierung der ItemTemplateSelector Datenobjekte anzugeben. Weitere Informationen finden Sie unter Übersicht über Datenvorlagen.
Informationen zur Abhängigkeitseigenschaft
Bezeichnerfeld | ItemsPanelProperty |
Metadateneigenschaften auf true festgelegt |
Keine |
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für