ItemsPanelTemplate Třída

Definice

Určuje panel, který objekt 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ý ListBoxobjekt , můžete vytvořit šablonu, která určuje vodorovnou StackPanel , a nastavit ji jako ItemsPanel vlastnost . Následující příklad ukazuje , ListBoxStyle který 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á k ControlTemplate vytvoření vodorovné šířky ListBox se zaoblenými rohy. Všimněte si, že v tomto příkladu ItemsPanel je místo nastavení vlastnosti jako v předchozím příkladu zadána vodorovná StackPanel v rámci objektu ControlTemplate. Všimněte si IsItemsHost , že vlastnost je nastavená true na StackPanel, což znamená, že vygenerované položky by měly být na panelu. Pokud ho zadáte tímto způsobem, ItemsPanel uživatel ovládacího prvku nemůže nahradit 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>

Pokud chcete dosáhnout stejných výsledků, můžete také postupovat následovně. V tomto případě ItemsPresenter vytvoří panel pro rozložení položek na základě toho, co je určeno v 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 vlastností stylů a šablon v objektu najdete v ItemsControltématu Přehled šablon dat.

Poznámky

Určuje ItemsPanelTemplate panel, který se používá pro rozložení položek. GroupStylePanel má vlastnost typu ItemsPanelTemplate. ItemsControl Typy mají ItemsPanel vlastnost, která je typu ItemsPanelTemplate.

Každý ItemsControl typ má výchozí ItemsPanelTemplate. ItemsControl Výchozí ItemsPanel hodnotou pro třídu je hodnota ItemsPanelTemplate , která určuje StackPanel. Ve výchozím nastavení se ve ListBoxvýchozím nastavení používá VirtualizingStackPanel. Ve výchozím nastavení se pro MenuItempoužívá WrapPanel. Ve výchozím nastavení se pro StatusBarpoužívá DockPanel.

Konstruktory

ItemsPanelTemplate()

Inicializuje instanci třídy ItemsPanelTemplate.

ItemsPanelTemplate(FrameworkElementFactory)

Inicializuje instanci ItemsPanelTemplate třídy pomocí zadané šablony.

Vlastnosti

Dispatcher

Získá to DispatcherDispatcherObject je přidružena k.

(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 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 rámci 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če.

(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 tomuto DispatcherObject.

(Zděděno od DispatcherObject)
Equals(Object)

Určí, zda se zadaný objekt rovná 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í hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z 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 Objectsouboru .

(Zděděno od Object)
RegisterName(String, Object)

Zaregistruje novou dvojici název/objekt do aktuálního oboru názvů.

(Zděděno od FrameworkTemplate)
Seal()

Uzamkne šablonu, takže ji nelze změnit.

(Zděděno od FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu Resources vlastnosti v instancích této třídy.

(Zděděno od FrameworkTemplate)
ShouldSerializeVisualTree()

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu VisualTree vlastnosti v instancích 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 rozsahu názvů XAML.

(Zděděno od FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Kontroluje, zda je nadřazený objekt šablony objektu, který nemá hodnotu null ItemsPresenter .

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ý identifikační název.

(Zděděno od FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Dotazuje se, zda je v aktuálním oboru k dispozici zadaná vlastnost okolí.

(Zděděno od FrameworkTemplate)

Platí pro