ItemsControl.ItemsPanel Eigenschaft

Definition

Ruft die Vorlage ab (bzw. legt diese fest), mit der der Bereich definiert wird, der das Layout der Elemente steuert.Gets or sets the template that defines the panel that controls the layout of items.

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

Eigenschaftswert

ItemsPanelTemplate

Eine ItemsPanelTemplate, die den Bereich für das Layout der Elemente definiert.An ItemsPanelTemplate that defines the panel to use for the layout of the items. Der Standardwert für das ItemsControl ist eine ItemsPanelTemplate, die ein StackPanel angibt.The default value for the ItemsControl is an ItemsPanelTemplate that specifies a StackPanel.

Attribute

Beispiele

Zum Erstellen eines horizontalen ListBox können Sie eine Vorlage erstellen, die eine horizontale angibt StackPanel und Sie als- ItemsPanel Eigenschaft festlegt.To create a horizontal ListBox, you can create a template that specifies a horizontal StackPanel and set it as the ItemsPanel property. Das folgende Beispiel zeigt ein ListBox Style , das eine horizontale erstellt ListBox .The following example shows a ListBox Style that creates a horizontal ListBox.

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

Im folgenden Beispiel wird mithilfe ControlTemplate von ein horizontales erstellt ListBox , das abgerundete Ecken aufweist.The following example uses a ControlTemplate to create a horizontal ListBox that has rounded corners. Wenn Sie in diesem Beispiel die- ItemsPanel Eigenschaft nicht wie im vorherigen Beispiel festlegen, wird die horizontale StackPanel innerhalb von angegeben ControlTemplate .In this example, instead of setting the ItemsPanel property as in previous example, the horizontal StackPanel is specified within the ControlTemplate. Die- IsItemsHost Eigenschaft ist auf festgelegt und gibt an, true StackPanel dass die generierten Elemente im Bereich angezeigt werden sollen.The IsItemsHost property is set to true on the StackPanel, indicating that the generated items should go in the panel. Wenn Sie diese auf diese Weise angeben, ItemsPanel kann der nicht durch den Benutzer des-Steuer Elements ersetzt werden, ohne zu verwenden ControlTemplate .When you specify it this way, the ItemsPanel cannot be replaced by the user of the control without using a ControlTemplate. Daher sollten Sie dies nur tun, wenn Sie wissen, dass das Panel nicht ohne eine Vorlage ersetzt werden soll.Therefore, only do this if you know you would not want the panel to be replaced without the use of a template.

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

Alternativ dazu können Sie die folgenden Aktionen ausführen, um die gleichen Ergebnisse zu erzielen.Alternatively, you can do the following to achieve the same results. In diesem Fall erstellt das ItemsPresenter Panel für das Layout der Elemente basierend auf dem, was durch angegeben wird ItemsPanelTemplate .In this case, the ItemsPresenter creates the panel for the layout of the items based on what is specified by the 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>

Hinweise

Für ListBox gibt der Standardwert an ItemsPanelTemplate VirtualizingStackPanel .For the ListBox, the default ItemsPanelTemplate specifies the VirtualizingStackPanel. Für MenuItem verwendet die Standard- WrapPanel .For MenuItem, the default uses WrapPanel. Für StatusBar verwendet die Standard- DockPanel .For StatusBar, the default uses DockPanel.

Um das Layout der Elemente in einer zu beeinflussen ItemsControl , verwenden Sie diese Eigenschaft, um einen anzugeben ItemsPanelTemplate .To affect the layout of the items in an ItemsControl, you use this property to specify a ItemsPanelTemplate.

ItemsControlBietet eine hohe Flexibilität bei der visuellen Anpassung und bietet viele Formatierungs-und Vorlagen Eigenschaften.The ItemsControl provides great flexibility for visual customization and provides many styling and templating properties. Verwenden Sie die- ItemContainerStyle Eigenschaft oder die- ItemContainerStyleSelector Eigenschaft, um einen Stil festzulegen, der sich auf die Darstellung der Elemente auswirkt, die die Datenelemente enthalten.You use the ItemContainerStyle property or the ItemContainerStyleSelector property to set a style to affect the appearance of the elements that contain the data items. Beispielsweise sind die generierten Container-Steuerelemente für die-Steuerelemente, und sind-Steuer ListBox ListBoxItem ComboBox ComboBoxItem Elemente.For example, for ListBox, the generated containers are ListBoxItem controls; for ComboBox, they are ComboBoxItem controls. Wenn Sie die Gruppierung für das-Steuerelement verwenden, können Sie die- GroupStyle Eigenschaft oder die- GroupStyleSelector Eigenschaft verwenden.If you are using grouping on your control, you can use the GroupStyle or GroupStyleSelector property. Um die Visualisierung der Datenobjekte anzugeben, verwenden Sie die- ItemTemplate Eigenschaft oder die- ItemTemplateSelector Eigenschaft.To specify the visualization of the data objects, use the ItemTemplate or the ItemTemplateSelector property. Weitere Informationen finden Sie unter Übersicht über Datenvorlagen.For more information, see Data Templating Overview.

Informationen zur AbhängigkeitseigenschaftDependency Property Information

BezeichnerfeldIdentifier field ItemsPanelProperty
Metadateneigenschaften auf true festgelegtMetadata properties set to true KeineNone

Gilt für:

Weitere Informationen