Windows Dev Center

Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

ItemsControl.ItemsPanel, propriété

Obtient ou définit le modèle qui définit le panneau qui contrôle la disposition d'éléments.

Espace de noms :  System.Windows.Controls
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[BindableAttribute(false)]
public ItemsPanelTemplate ItemsPanel { get; set; }
<object>
  <object.ItemsPanel>
    <ItemsPanelTemplate .../>
  </object.ItemsPanel>
</object>

Valeur de propriété

Type : System.Windows.Controls.ItemsPanelTemplate
ItemsPanelTemplate qui définit le panneau à utiliser pour la disposition des éléments. La valeur par défaut pour le ItemsControl est un ItemsPanelTemplate qui spécifie un StackPanel.

Champ d'identificateur

ItemsPanelProperty

Propriétés de métadonnées définies à true

Aucune

Pour la ListBox, le ItemsPanelTemplate par défaut spécifie le VirtualizingStackPanel. WrapPanel est utilisé par défaut pour MenuItem. DockPanel est utilisé par défaut pour StatusBar.

Pour affecter la disposition des éléments dans un ItemsControl, utilisez cette propriété pour spécifier un ItemsPanelTemplate.

ItemsControl offre une grande souplesse pour la personnalisation visuelle et fournit de nombreuses propriétés de style et de création de modèles. Utilisez la propriété ItemContainerStyle ou la propriété ItemContainerStyleSelector pour définir un style pour l'apparence des éléments contenant les éléments de données. Par exemple, pour ListBox, les conteneurs générés sont des contrôles ListBoxItem ; pour ComboBox, il s'agit de contrôles ComboBoxItem. Si vous utilisez le regroupement pour votre contrôle, vous pouvez utiliser la propriété GroupStyle ou la propriété GroupStyleSelector. Pour spécifier la visualisation des objets de données, utilisez la propriété ItemTemplate ou la propriété ItemTemplateSelector. Pour plus d'informations, consultez Vue d'ensemble des modèles de données.

Pour créer une ListBoxhorizontale, vous pouvez créer un modèle qui spécifie un StackPanel horizontal et le définir comme propriété ItemsPanel. L'exemple suivant montre un Style de ListBox qui crée une ListBox horizontale.


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


L'exemple suivant utilise un ControlTemplate pour créer une ListBox horizontale aux angles arrondis. Dans cet exemple, au lieu de définir la propriété ItemsPanel comme dans l'exemple précédent, le StackPanel horizontal est spécifié dans le ControlTemplate. La propriété IsItemsHost a la valeur true pour le StackPanel, indiquant que les éléments générés doivent entrer dans le panneau. Lorsque vous le spécifiez de cette façon, le ItemsPanel ne peut pas être remplacé par l'utilisateur du contrôle sans l'aide d'un ControlTemplate. Par conséquent, ne faites cela que si vous ne souhaitez pas que le panneau soit remplacé sans l'utilisation d'un modèle.


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


Vous pouvez également procéder comme suit pour obtenir les mêmes résultats. Dans ce cas, ItemsPresenter crée le panneau pour la disposition des éléments selon les valeurs spécifiées par 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>


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

Afficher:
© 2015 Microsoft