Exporter (0) Imprimer
Développer tout
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

ItemsPanelTemplate, classe

Spécifie le panneau créé par ItemsPresenter pour la disposition des éléments d'un ItemsControl.

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

public class ItemsPanelTemplate : FrameworkTemplate
<ItemsPanelTemplate>
  VisualTree
</ItemsPanelTemplate>

Le type ItemsPanelTemplate expose les membres suivants.

  NomDescription
Méthode publiqueItemsPanelTemplate()Initialise une instance de la classe ItemsPanelTemplate.
Méthode publiqueItemsPanelTemplate(FrameworkElementFactory)Initialise une nouvelle instance de la classe ItemsPanelTemplate à l'aide du modèle spécifié.
Début

  NomDescription
Propriété publiqueDispatcherObtient le Dispatcher associé à DispatcherObject. (Hérité de DispatcherObject.)
Propriété publiqueDispatcher (Hérité de DependencyObject.)
Propriété publiqueHasContentObtient une valeur qui indique si ce modèle a optimisé le contenu. (Hérité de FrameworkTemplate.)
Propriété publiqueIsSealedObtient une valeur qui indique si cet objet est dans un état immuable (c'est-à-dire qu'il ne peut pas être modifié). (Hérité de FrameworkTemplate.)
Propriété publiqueResourcesObtient ou définit la collection des ressources qui peuvent être utilisées dans la portée de ce modèle. (Hérité de FrameworkTemplate.)
Propriété publiqueTemplateObtient 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. (Hérité de FrameworkTemplate.)
Propriété publiqueVisualTreeObtient ou définit le nœud racine du modèle. (Hérité de FrameworkTemplate.)
Début

  NomDescription
Méthode publiqueCheckAccessDétermine si le thread appelant a accès à ce DispatcherObject. (Hérité de DispatcherObject.)
Méthode publiqueClearValue(DependencyProperty)Efface la valeur de proximité d'une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty. (Hérité de DependencyObject.)
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueFindNameRecherche l'élément associé au nom spécifié défini dans ce modèle. (Hérité de FrameworkTemplate.)
Méthode publiqueGetAnimationBaseValue (Hérité de DependencyObject.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueGetValueRetourne la valeur effective actuelle d'une propriété de dépendance sur cette instance d'un DependencyObject. (Hérité de DependencyObject.)
Méthode publiqueLoadContentCharge le contenu du modèle en tant qu'instance d'un objet et retourne l'élément racine du contenu. (Hérité de FrameworkTemplate.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiqueReadLocalValueRetourne la valeur de proximité d'une propriété de dépendance, si elle existe. (Hérité de DependencyObject.)
Méthode publiqueRegisterNameInscrit une nouvelle paire nom-objet dans la portée de nom active. (Hérité de FrameworkTemplate.)
Méthode publiqueSealVerrouille le modèle de façon à ce qu'il ne puisse pas être modifié. (Hérité de FrameworkTemplate.)
Méthode publiqueSetValue(DependencyProperty, Object)Définit la valeur de proximité d'une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance. (Hérité de DependencyObject.)
Méthode publiqueShouldSerializeResourcesRetourne 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. (Hérité de FrameworkTemplate.)
Méthode publiqueShouldSerializeVisualTreeRetourne 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. (Hérité de FrameworkTemplate.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode publiqueUnregisterNameSupprime un mappage nom/objet de la portée de nom XAML. (Hérité de FrameworkTemplate.)
Méthode protégéeValidateTemplatedParentVérifie que le parent basé sur des modèles est un objet ItemsPresenter non null. (Substitue FrameworkTemplate.ValidateTemplatedParent(FrameworkElement).)
Méthode publiqueVerifyAccessGarantit que le thread appelant a accès à DispatcherObject. (Hérité de DispatcherObject.)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéeINameScope.FindNameInfrastructure. Retourne un objet qui porte le nom d'identification fourni. (Hérité de FrameworkTemplate.)
Implémentation d'interface expliciteMéthode privéeIQueryAmbient.IsAmbientPropertyAvailableDemande si une propriété ambiante spécifiée est disponible dans la portée actuelle. (Hérité de FrameworkTemplate.)
Début

Le ItemsPanelTemplate spécifie le panneau utilisé pour la disposition des éléments. GroupStyle a une propriété Panel qui est de type ItemsPanelTemplate. Les types ItemsControl ont une propriété ItemsPanel qui est de type ItemsPanelTemplate.

Chaque type de ItemsControl dispose d'un modèle ItemsPanelTemplate par défaut. Pour la classe ItemsControl, la valeur ItemsPanel par défaut est un ItemsPanelTemplate qui spécifie un StackPanel. VirtualizingStackPanel est utilisé par défaut pour ListBox. WrapPanel est utilisé par défaut pour MenuItem. DockPanel est utilisé par défaut pour StatusBar.

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. Notez que, 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. Notez que la propriété IsItemsHost a la valeur true pour le StackPanel, indiquant que les éléments générés doivent être insérés 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>


Pour obtenir un exemple d'utilisation des différentes propriétés de style et de modèle pour ItemsControl, consultez Vue d'ensemble des modèles de données.

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

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft