ItemsControl.ItemsPanel Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví šablonu, která definuje panel, který řídí rozložení položek.
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
Hodnota vlastnosti
ItemsPanelTemplate, který definuje panel, který se má použít pro rozložení položek. Výchozí hodnota ItemsControl je ItemsPanelTemplate, která určuje StackPanel.
- Atributy
Příklady
Chcete-li vytvořit vodorovný ListBox, můžete vytvořit šablonu, která určuje vodorovnou StackPanel a nastavit ji jako vlastnost ItemsPanel. Následující příklad ukazuje ListBoxStyle, který vytvoří vodorovnou ListBox.
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
Následující příklad používá ControlTemplate k vytvoření vodorovné ListBox, který má zaoblené rohy. V tomto příkladu se místo nastavení vlastnosti ItemsPanel jako v předchozím příkladu zadává vodorovná StackPanel v rámci ControlTemplate. Vlastnost IsItemsHost je nastavena na true
na StackPanel, což znamená, že vygenerované položky by měly jít na panelu. Pokud jej zadáte tímto způsobem, nelze ItemsPanel nahradit uživatelem ovládacího prvku bez použití ControlTemplate. Proto to udělejte jenom v případě, že víte, že nechcete, aby byl panel nahrazen bez použití šablony.
<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>
Můžete také provést následující kroky, abyste dosáhli stejných výsledků. V tomto případě ItemsPresenter vytvoří panel pro rozložení položek na základě toho, co je určeno 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>
Poznámky
Výchozí ItemsPanelTemplate pro ListBoxurčuje VirtualizingStackPanel. Pro MenuItempoužívá výchozí WrapPanel. Pro StatusBarpoužívá výchozí DockPanel.
Chcete-li ovlivnit rozložení položek v ItemsControl, použijete tuto vlastnost k určení ItemsPanelTemplate.
ItemsControl poskytuje skvělou flexibilitu pro přizpůsobení vizuálu a poskytuje mnoho vlastností stylů a šablon. Pomocí vlastnosti ItemContainerStyle nebo vlastnosti ItemContainerStyleSelector nastavíte styl, který ovlivní vzhled prvků, které obsahují datové položky. Například pro ListBoxjsou vygenerované kontejnery ListBoxItem ovládací prvky; pro ComboBoxjsou ovládací prvky ComboBoxItem. Pokud používáte seskupení na ovládacím prvku, můžete použít vlastnost GroupStyle nebo GroupStyleSelector. Pokud chcete určit vizualizaci datových objektů, použijte ItemTemplate nebo vlastnost ItemTemplateSelector. Další informace naleznete v tématu Přehled šablon dat.
Informace o vlastnosti závislosti
Pole Identifikátor | ItemsPanelProperty |
Vlastnosti metadat nastavené na true |
Žádný |