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 objektu 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 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šimněte si, že v tomto příkladu je místo nastavení ItemsPanel vlastnosti jako v předchozím příkladu ControlTemplatezadána vodorovná StackPanel hodnota v rámci . Všimněte si, že IsItemsHost vlastnost 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>
Příklad použití různých stylů a vlastností šablon v šabloně ItemsControlnaleznete v tématu Přehled šablon dat.
Poznámky
Určuje ItemsPanelTemplate panel, který se používá pro rozložení položek. GroupStyle Panel má vlastnost, která je typu ItemsPanelTemplate. ItemsControl typy mají ItemsPanel vlastnost, která je typu ItemsPanelTemplate.
Každý ItemsControl typ má výchozí ItemsPanelTemplatehodnotu . ItemsControl Pro třídu je ItemsPanelTemplate výchozí ItemsPanel hodnota, která určuje StackPanel. ListBoxPro , výchozí používá VirtualizingStackPanel. Pro MenuItem, výchozí používá WrapPanel. Pro StatusBar, výchozí používá DockPanel.
Konstruktory
| Name | Description |
|---|---|
| ItemsPanelTemplate() |
Inicializuje instanci ItemsPanelTemplate třídy. |
| ItemsPanelTemplate(FrameworkElementFactory) |
Inicializuje instanci ItemsPanelTemplate třídy se zadanou šablonou. |
Vlastnosti
| Name | Description |
|---|---|
| Dispatcher |
Dispatcher Získá toto 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
| Name | Description |
|---|---|
| CheckAccess() |
Určuje, zda volající vlákno má přístup k tomuto 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 serializace má serializovat hodnotu Resources vlastnosti u instancí této třídy. (Zděděno od FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Vrátí hodnotu, která určuje, zda serializace procesy serializace má serializovat hodnotu VisualTree vlastnosti u instancí 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, zda nadřazený objekt šablony není null ItemsPresenter . |
| VerifyAccess() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| 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) |