ItemsPanelTemplate Classe

Définition

Spécifie le panneau créé par ItemsPresenter pour la disposition des éléments d'un ItemsControl.Specifies the panel that the ItemsPresenter creates for the layout of the items of an ItemsControl.

public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
    inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
Héritage

Exemples

Pour créer un horizontal ListBox , vous pouvez créer un modèle qui spécifie un horizontal StackPanel et le définir comme ItemsPanel propriété.To create a horizontal ListBox, you can create a template that specifies a horizontal StackPanel and set it as the ItemsPanel property. L’exemple suivant montre un ListBox Style qui crée un horizontal 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>

L’exemple suivant utilise un ControlTemplate pour créer un horizontal ListBox qui a des angles arrondis.The following example uses a ControlTemplate to create a horizontal ListBox that has rounded corners. Notez que dans cet exemple, au lieu de définir la ItemsPanel propriété comme dans l’exemple précédent, l’horizontal StackPanel est spécifié dans le ControlTemplate .Note that in this example, instead of setting the ItemsPanel property as in previous example, the horizontal StackPanel is specified within the ControlTemplate. Notez que la IsItemsHost propriété a la valeur true sur, ce qui StackPanel indique que les éléments générés doivent être placés dans le panneau.Note that the IsItemsHost property is set to true on the StackPanel, indicating that the generated items should go in the panel. Lorsque vous le spécifiez de cette manière, l ItemsPanel 'ne peut pas être remplacé par l’utilisateur du contrôle sans utiliser de ControlTemplate .When you specify it this way, the ItemsPanel cannot be replaced by the user of the control without using a ControlTemplate. Par conséquent, ne le faites que si vous savez que vous ne souhaitez pas que le panneau soit remplacé sans utiliser de modèle.Therefore, only do this if you know you wouldn't 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>

Vous pouvez également effectuer les opérations suivantes pour obtenir les mêmes résultats.Alternatively, you can do the following to achieve the same results. Dans ce cas, le ItemsPresenter crée le panneau pour la disposition des éléments en fonction de ce qui est spécifié par 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>

Pour obtenir un exemple d’utilisation des différentes propriétés de style et de création de modèles sur le ItemsControl , consultez vue d’ensemble des modèles de données.For an example of how to use the different styling and templating properties on the ItemsControl, see Data Templating Overview.

Remarques

ItemsPanelTemplateSpécifie le panneau utilisé pour la disposition des éléments.The ItemsPanelTemplate specifies the panel that is used for the layout of items. GroupStyle a une Panel propriété qui est de type ItemsPanelTemplate .GroupStyle has a Panel property that is of type ItemsPanelTemplate. ItemsControl les types ont une ItemsPanel propriété qui est de type ItemsPanelTemplate .ItemsControl types have an ItemsPanel property that is of type ItemsPanelTemplate.

Chaque ItemsControl type a une valeur par défaut ItemsPanelTemplate .Each ItemsControl type has a default ItemsPanelTemplate. Pour la ItemsControl classe, la valeur par défaut ItemsPanel est un ItemsPanelTemplate qui spécifie un StackPanel .For the ItemsControl class, the default ItemsPanel value is an ItemsPanelTemplate that specifies a StackPanel. Pour ListBox , la valeur par défaut utilise VirtualizingStackPanel .For the ListBox, the default uses the VirtualizingStackPanel. Pour MenuItem , la valeur par défaut utilise WrapPanel .For MenuItem, the default uses WrapPanel. Pour StatusBar , la valeur par défaut utilise DockPanel .For StatusBar, the default uses DockPanel.

Constructeurs

ItemsPanelTemplate()

Initialise une instance de la classe ItemsPanelTemplate.Initializes an instance of the ItemsPanelTemplate class.

ItemsPanelTemplate(FrameworkElementFactory)

Initialise une nouvelle instance de la classe ItemsPanelTemplate à l'aide du modèle spécifié.Initializes an instance of the ItemsPanelTemplate class with the specified template.

Propriétés

Dispatcher

Obtient le Dispatcher associé à DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Hérité de DispatcherObject)
HasContent

Obtient une valeur qui indique si ce modèle a optimisé le contenu.Gets a value that indicates whether this template has optimized content.

(Hérité de FrameworkTemplate)
IsSealed

Obtient une valeur qui indique si cet objet est dans un état immuable (c'est-à-dire qu'il ne peut pas être modifié).Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(Hérité de FrameworkTemplate)
Resources

Obtient ou définit la collection des ressources qui peuvent être utilisées dans la portée de ce modèle.Gets or sets the collection of resources that can be used within the scope of this template.

(Hérité de FrameworkTemplate)
Template

Obtient ou définit une référence à l'objet qui enregistre ou lit les nœuds XAML pour le modèle lorsque le modèle est défini ou appliqué par un writer.Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a writer.

(Hérité de FrameworkTemplate)
VisualTree

Obtient ou définit le nœud racine du modèle.Gets or sets the root node of the template.

(Hérité de FrameworkTemplate)

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
FindName(String, FrameworkElement)

Recherche l’élément associé au nom spécifié défini dans ce modèle.Finds the element associated with the specified name defined within this template.

(Hérité de FrameworkTemplate)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
LoadContent()

Charge le contenu du modèle en tant qu'instance d'un objet et retourne l'élément racine du contenu.Loads the content of the template as an instance of an object and returns the root element of the content.

(Hérité de FrameworkTemplate)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
RegisterName(String, Object)

Inscrit une nouvelle paire nom-objet dans la portée de nom active.Registers a new name/object pair into the current name scope.

(Hérité de FrameworkTemplate)
Seal()

Verrouille le modèle de façon à ce qu'il ne puisse pas être modifié.Locks the template so it cannot be changed.

(Hérité de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété Resources sur les instances de cette classe.Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(Hérité de FrameworkTemplate)
ShouldSerializeVisualTree()

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété VisualTree sur les instances de cette classe.Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(Hérité de FrameworkTemplate)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)
UnregisterName(String)

Supprime un mappage nom/objet de la portée de nom XAML.Removes a name/object mapping from the XAML namescope.

(Hérité de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Vérifie que le parent basé sur des modèles est un objet ItemsPresenter non null.Checks that the templated parent is a non-null ItemsPresenter object.

VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)

Implémentations d’interfaces explicites

INameScope.FindName(String)

Retourne un objet qui a le nom d’identification fourni.Returns an object that has the provided identifying name.

(Hérité de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Demande si une propriété ambiante spécifiée est disponible dans la portée actuelle.Queries whether a specified ambient property is available in the current scope.

(Hérité de FrameworkTemplate)

S’applique à

Voir aussi