ItemsControl.ItemsPanel Eigenschap

Definitie

Hiermee haalt u de sjabloon op waarmee het deelvenster wordt gedefinieerd waarmee de indeling van items wordt bepaald.

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

Waarde van eigenschap

Een ItemsPanelTemplate die het deelvenster definieert dat moet worden gebruikt voor de indeling van de items. De standaardwaarde voor de ItemsControl waarde is een ItemsPanelTemplate waarde die een StackPanel.

Kenmerken

Voorbeelden

Als u een horizontale ListBoxsjabloon wilt maken, kunt u een sjabloon maken waarmee een horizontale StackPanel sjabloon wordt opgegeven en deze als eigenschap ItemsPanel wordt ingesteld. In het volgende voorbeeld ziet u een ListBoxStyle die een horizontaal ListBoxmaakt.

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

In het volgende voorbeeld wordt een ControlTemplate horizontale ListBox weergave gemaakt met afgeronde hoeken. In dit voorbeeld wordt in plaats van de ItemsPanel eigenschap in te stellen zoals in het vorige voorbeeld, de horizontale StackPanel waarde opgegeven in de ControlTemplate. De IsItemsHost eigenschap is ingesteld true op de StackPanel, waarmee wordt aangegeven dat de gegenereerde items in het deelvenster moeten worden geplaatst. Wanneer u het op deze manier opgeeft, kan de ItemsPanel gebruiker van het besturingselement niet worden vervangen zonder een ControlTemplate. Doe dit daarom alleen als u weet dat u niet wilt dat het deelvenster wordt vervangen zonder gebruik te maken van een sjabloon.

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

U kunt ook het volgende doen om dezelfde resultaten te bereiken. In dit geval maakt het ItemsPresenter deelvenster voor de indeling van de items op basis van wat is opgegeven door de 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>

Opmerkingen

Voor de ListBoxstandaardwaarde ItemsPanelTemplate geeft u de VirtualizingStackPanel. Voor MenuItem, de standaard gebruikt WrapPanel. Voor StatusBar, de standaard gebruikt DockPanel.

Als u de indeling van de items in een ItemsControlwilt beïnvloeden, gebruikt u deze eigenschap om een ItemsPanelTemplate.

Het ItemsControl biedt een grote flexibiliteit voor visuele aanpassing en biedt veel stijl- en verleidende eigenschappen. U gebruikt de ItemContainerStyle eigenschap of de ItemContainerStyleSelector eigenschap om een stijl in te stellen die van invloed is op het uiterlijk van de elementen die de gegevensitems bevatten. De gegenereerde containers zijn bijvoorbeeld ListBoxbesturingselementen; voor ListBoxItem, ze zijn ComboBox besturingselementen.ComboBoxItem Als u groepering op uw besturingselement gebruikt, kunt u de GroupStyle of GroupStyleSelector eigenschap gebruiken. Als u de visualisatie van de gegevensobjecten wilt opgeven, gebruikt u de ItemTemplate eigenschap of de ItemTemplateSelector eigenschap. Zie Overzicht van gegevens templating voor meer informatie.

Informatie over afhankelijkheidseigenschappen

Item Waarde
Id-veld ItemsPanelProperty
Eigenschappen van metagegevens ingesteld op true Geen

Van toepassing op