ItemsPanelTemplate Klasa

Definicja

Określa panel tworzony ItemsPresenter dla układu elementów elementu ItemsControl.

public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
    inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
Dziedziczenie

Przykłady

Aby utworzyć poziomy ListBoxelement , można utworzyć szablon określający poziomy StackPanel i ustawić go jako ItemsPanel właściwość. W poniższym przykładzie przedstawiono element ListBoxStyle , który tworzy poziomy ListBoxelement .

<Style TargetType="ListBox">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                    VerticalAlignment="Center"
                    HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
</Style>

W poniższym przykładzie użyto elementu do ControlTemplate utworzenia poziomego ListBox , który ma zaokrąglone rogi. Należy pamiętać, że w tym przykładzie zamiast ustawiać ItemsPanel właściwość tak jak w poprzednim przykładzie, pozioma StackPanel jest określona w obiekcie ControlTemplate. Należy pamiętaćtrue, że IsItemsHost właściwość jest ustawiona na wartość w elemecie StackPanel, co oznacza, że wygenerowane elementy powinny być włączone w panelu. Po określeniu go w ten sposób ItemsPanel nie można zastąpić przez użytkownika kontrolki bez użycia elementu ControlTemplate. W związku z tym należy to zrobić tylko wtedy, gdy wiesz, że nie chcesz, aby panel został zastąpiony bez użycia szablonu.

<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>

Alternatywnie możesz wykonać następujące czynności, aby uzyskać te same wyniki. W takim przypadku zostanie ItemsPresenter utworzony panel dla układu elementów na podstawie tego, co jest określone przez ItemsPanelTemplateelement .

<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>

Przykład użycia różnych właściwości stylów i szablonów w programie ItemsControlmożna znaleźć w temacie Data Templating Overview (Omówienie tworzenia szablonów danych).

Uwagi

Określa ItemsPanelTemplate panel, który jest używany do układu elementów. GroupStylePanel ma właściwość typu ItemsPanelTemplate. ItemsControl typy mają ItemsPanel właściwość typu ItemsPanelTemplate.

Każdy ItemsControl typ ma wartość domyślną ItemsPanelTemplate. W przypadku ItemsControl klasy wartość domyślna ItemsPanel jest wartością określającą ItemsPanelTemplateStackPanelwartość . W przypadku elementu wartość domyślna ListBoxużywa wartości VirtualizingStackPanel. W przypadku MenuItemelementu wartość domyślna używa polecenia WrapPanel. W przypadku StatusBarelementu wartość domyślna używa polecenia DockPanel.

Konstruktory

ItemsPanelTemplate()

Inicjuje wystąpienie klasy ItemsPanelTemplate.

ItemsPanelTemplate(FrameworkElementFactory)

Inicjuje ItemsPanelTemplate wystąpienie klasy przy użyciu określonego szablonu.

Właściwości

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
HasContent

Pobiera wartość wskazującą, czy ten szablon ma zoptymalizowaną zawartość.

(Odziedziczone po FrameworkTemplate)
IsSealed

Pobiera wartość wskazującą, czy ten obiekt jest w stanie niezmiennym, aby nie można było go zmienić.

(Odziedziczone po FrameworkTemplate)
Resources

Pobiera lub ustawia kolekcję zasobów, które mogą być używane w zakresie tego szablonu.

(Odziedziczone po FrameworkTemplate)
Template

Pobiera lub ustawia odwołanie do obiektu, który rejestruje lub odtwarza węzły XAML dla szablonu, gdy szablon jest zdefiniowany lub stosowany przez moduł zapisywania.

(Odziedziczone po FrameworkTemplate)
VisualTree

Pobiera lub ustawia węzeł główny szablonu.

(Odziedziczone po FrameworkTemplate)

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindName(String, FrameworkElement)

Znajduje element skojarzony z określoną nazwą zdefiniowaną w tym szablonie.

(Odziedziczone po FrameworkTemplate)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
LoadContent()

Ładuje zawartość szablonu jako wystąpienie obiektu i zwraca element główny zawartości.

(Odziedziczone po FrameworkTemplate)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RegisterName(String, Object)

Rejestruje nową parę nazw/obiektów w bieżącym zakresie nazw.

(Odziedziczone po FrameworkTemplate)
Seal()

Blokuje szablon, aby nie można go było zmienić.

(Odziedziczone po FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość Resources właściwości w wystąpieniach tej klasy.

(Odziedziczone po FrameworkTemplate)
ShouldSerializeVisualTree()

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość VisualTree właściwości w wystąpieniach tej klasy.

(Odziedziczone po FrameworkTemplate)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UnregisterName(String)

Usuwa mapowanie nazw/obiektów z zakresu nazw XAML.

(Odziedziczone po FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Sprawdza, czy szablonowy element nadrzędny jest obiektem bez wartości null ItemsPresenter .

VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Jawne implementacje interfejsu

INameScope.FindName(String)

Zwraca obiekt, który ma podaną nazwę identyfikującą.

(Odziedziczone po FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Sprawdza, czy określona właściwość otoczenia jest dostępna w bieżącym zakresie.

(Odziedziczone po FrameworkTemplate)

Dotyczy