ItemsPanelTemplate Třída
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í.
Určuje panel, který ItemsPresenter vytvoří pro rozložení položek ItemsControl.
public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
- Dědičnost
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šimněte si, že 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. Všimněte si, že vlastnost IsItemsHost je nastavena na true
na StackPaneloznačující, ž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>
Příklad použití různých stylů a vlastností šablon v ItemsControlnajdete v tématu Přehled šablon dat.
Poznámky
ItemsPanelTemplate určuje panel, který se používá pro rozložení položek. GroupStyle má vlastnost Panel typu ItemsPanelTemplate. typy ItemsControl mají vlastnost ItemsPanel typu ItemsPanelTemplate.
Každý typ ItemsControl má výchozí ItemsPanelTemplate. Výchozí hodnota ItemsPanel třídy ItemsControl je ItemsPanelTemplate, která určuje StackPanel. Pro ListBoxpoužívá výchozí VirtualizingStackPanel. Pro MenuItempoužívá výchozí WrapPanel. Pro StatusBarpoužívá výchozí DockPanel.
Konstruktory
ItemsPanelTemplate() |
Inicializuje instanci ItemsPanelTemplate třídy. |
ItemsPanelTemplate(FrameworkElementFactory) |
Inicializuje instanci ItemsPanelTemplate třídy se zadanou šablonou. |
Vlastnosti
Dispatcher |
Získá Dispatcher tento DispatcherObject je přidružen. (Zděděno od DispatcherObject) |
HasContent |
Získá hodnotu, která označuje, zda tato šablona má optimalizovaný obsah. (Zděděno od FrameworkTemplate) |
IsSealed |
Získá hodnotu, která označuje, zda tento objekt je v neměnném stavu, takže jej nelze změnit. (Zděděno od FrameworkTemplate) |
Resources |
Získá nebo nastaví kolekci prostředků, které lze použít v oboru této šablony. (Zděděno od FrameworkTemplate) |
Template |
Získá nebo nastaví odkaz na objekt, který zaznamenává nebo přehrává uzly XAML pro šablonu při definování nebo použití šablony zapisovačem. (Zděděno od FrameworkTemplate) |
VisualTree |
Získá nebo nastaví kořenový uzel šablony. (Zděděno od FrameworkTemplate) |
Metody
CheckAccess() |
Určuje, zda volající vlákno má přístup k této DispatcherObject. (Zděděno od DispatcherObject) |
Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
FindName(String, FrameworkElement) |
Vyhledá prvek přidružený k zadanému názvu definovanému v rámci této šablony. (Zděděno od FrameworkTemplate) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
LoadContent() |
Načte obsah šablony jako instanci objektu a vrátí kořenový prvek obsahu. (Zděděno od FrameworkTemplate) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
RegisterName(String, Object) |
Zaregistruje novou dvojici názvu nebo objektu do aktuálního oboru názvů. (Zděděno od FrameworkTemplate) |
Seal() |
Uzamkne šablonu, aby ji nebylo možné změnit. (Zděděno od FrameworkTemplate) |
ShouldSerializeResources(XamlDesignerSerializationManager) |
Vrátí hodnotu, která určuje, zda serializace procesy serializovat hodnotu Resources vlastnost instance této třídy. (Zděděno od FrameworkTemplate) |
ShouldSerializeVisualTree() |
Vrátí hodnotu, která určuje, zda serializace procesy serializovat hodnotu VisualTree vlastnost instance této třídy. (Zděděno od FrameworkTemplate) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
UnregisterName(String) |
Odebere mapování názvu nebo objektu z oboru názvů XAML. (Zděděno od FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
Zkontroluje, že nadřazený objekt šablony není null ItemsPresenter objektu. |
VerifyAccess() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
Explicitní implementace rozhraní
INameScope.FindName(String) |
Vrátí objekt, který má zadaný název identifikace. (Zděděno od FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Dotazuje, zda je zadaná okolí vlastnost k dispozici v aktuálním oboru. (Zděděno od FrameworkTemplate) |