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
Ten ItemsPanelTemplate definuje panel, který se má použít pro rozložení položek. Výchozí hodnota je ItemsControlItemsPanelTemplate hodnota, která určuje StackPanelhodnotu .
- Atributy
Příklady
Chcete-li vytvořit vodorovný ListBox, můžete vytvořit šablonu, která určuje vodorovnou StackPanel a nastavit ji jako ItemsPanel vlastnost. Následující příklad ukazuje ListBoxStyle , že vytvoří vodorovný 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 ItemsPanel je místo nastavení vlastnosti jako v předchozím příkladu ControlTemplatezadána vodorovná StackPanel hodnota v rámci . Vlastnost IsItemsHost je nastavena na trueStackPanel, označující, že vygenerované položky by měly jít na panelu. Pokud jej zadáte tímto způsobem, ItemsPanel nelze jej nahradit uživatelem ovládacího prvku bez použití znaku 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ě vytvoří panel pro rozložení položek na základě toho, ItemsPresenter 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
ListBoxPro , výchozí ItemsPanelTemplate určuje VirtualizingStackPanel. Pro MenuItem, výchozí používá WrapPanel. Pro StatusBar, výchozí používá DockPanel.
Chcete-li ovlivnit rozložení položek v objektu ItemsControl, použijete tuto vlastnost k určení .ItemsPanelTemplate
Poskytuje ItemsControl skvělou flexibilitu pro vizuální přizpůsobení a poskytuje mnoho vlastností stylů a šablon. Pomocí ItemContainerStyle vlastnosti nebo ItemContainerStyleSelector vlastnosti nastavíte styl tak, aby ovlivnil vzhled prvků, které obsahují datové položky. Například vygenerované ListBoxkontejnery jsou ListBoxItem ovládací prvky, pro , pro ComboBox, jsou ComboBoxItem ovládací prvky. Pokud používáte seskupení na ovládacím prvku, můžete použít GroupStyle vlastnost nebo GroupStyleSelector vlastnost. Chcete-li určit vizualizaci datových objektů, použijte ItemTemplate vlastnost nebo ItemTemplateSelector vlastnost. Další informace najdete v tématu Přehled šablon dat.
Informace o vlastnosti závislosti
| Položka | Hodnota |
|---|---|
| Pole Identifikátor | ItemsPanelProperty |
Vlastnosti metadat nastavené na true |
Žádný |