ItemsControl.ItemsPanel Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia szablon definiujący panel, który kontroluje układ elementów.
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
Wartość właściwości
Element ItemsPanelTemplate definiujący panel do użycia dla układu elementów. Wartość domyślna dla elementu ItemsControl to , ItemsPanelTemplate która określa StackPanelwartość .
- Atrybuty
Przykłady
Aby utworzyć poziomy ListBoxelement , możesz utworzyć szablon, który określa poziomy StackPanel i ustawiać go jako ItemsPanel właściwość . W poniższym przykładzie pokazano obiekt ListBox Style , który tworzy poziomy ListBoxobiekt .
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
W poniższym przykładzie użyto elementu , ControlTemplate aby utworzyć poziomy ListBox , który ma zaokrąglone rogi. W tym przykładzie zamiast ustawiać ItemsPanel właściwość, jak w poprzednim przykładzie, poziomy StackPanel jest określony w obiekcie ControlTemplate. Właściwość jest ustawiona IsItemsHost true
na wartość w elemecie StackPanel, co oznacza, że wygenerowane elementy powinny być wyświetlane w panelu. Po określeniu jej w ten sposób ItemsPanel nie można zastąpić użytkownika kontrolki bez użycia elementu ControlTemplate. W związku z tym należy to zrobić tylko wtedy, gdy wiesz, że nie chcesz, aby panel został zastąpiony bez użycia szablonu.
<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>
Alternatywnie możesz wykonać następujące czynności, aby osiągnąć te same wyniki. W tym przypadku obiekt ItemsPresenter tworzy panel dla układu elementów w oparciu o to, co jest określone przez element ItemsPanelTemplate.
<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>
Uwagi
W przypadku parametru ListBoxwartość domyślna ItemsPanelTemplate określa wartość VirtualizingStackPanel. W przypadku MenuItemprogramu wartość domyślna używa elementu WrapPanel. W przypadku StatusBarprogramu wartość domyślna używa elementu DockPanel.
Aby wpłynąć na układ elementów w obiekcie ItemsControl, użyj tej właściwości do określenia elementu ItemsPanelTemplate.
Zapewnia ItemsControl dużą elastyczność dostosowywania wizualizacji i zapewnia wiele właściwości stylów i tworzenia szablonów. Właściwość lub ItemContainerStyleSelector właściwość służy ItemContainerStyle do ustawiania stylu, aby wpływać na wygląd elementów zawierających elementy danych. Na przykład w przypadku ListBoxkontenerów generowanych przez ListBoxItem program są kontrolkami; dla ComboBoxelementu są ComboBoxItem to kontrolki. Jeśli używasz grupowania w kontrolce, możesz użyć GroupStyle właściwości lub GroupStyleSelector . Aby określić wizualizację obiektów danych, użyj ItemTemplate właściwości lub ItemTemplateSelector . Aby uzyskać więcej informacji, zobacz Omówienie tworzenia szablonów danych.
Informacje dotyczące właściwości zależności
Pole identyfikatora | ItemsPanelProperty |
Właściwości metadanych ustawione na true |
Brak |