ItemsPanelTemplate Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le panneau créé ItemsPresenter pour la disposition des éléments d’un 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 modèle horizontal ListBox, vous pouvez créer un modèle qui spécifie un modèle horizontal StackPanel et le définir comme ItemsPanel propriété. L’exemple suivant montre un ListBoxStyle élément qui crée un objet 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 angle horizontal ListBox qui a des angles arrondis. 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. Notez que la IsItemsHost propriété est définie true sur l’élément StackPanel, indiquant que les éléments générés doivent se trouver dans le panneau. Lorsque vous le spécifiez de cette façon, il ItemsPanel ne peut pas être remplacé par l’utilisateur du contrôle sans utiliser un ControlTemplate. Par conséquent, effectuez cette opération uniquement si vous savez que 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 effectuer les opérations suivantes pour obtenir les mêmes résultats. Dans ce cas, le ItemsPresenter panneau crée la disposition des éléments en fonction de ce qui est spécifié par le 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 ItemsControlsite , consultez Vue d’ensemble du templatage des données.
Remarques
Spécifie ItemsPanelTemplate le panneau utilisé pour la disposition des éléments. GroupStyle a une Panel propriété de type ItemsPanelTemplate. ItemsControl les types ont une ItemsPanel propriété de type ItemsPanelTemplate.
Chaque ItemsControl type a une valeur par défaut ItemsPanelTemplate. Pour la ItemsControl classe, la valeur par défaut ItemsPanel est une ItemsPanelTemplate valeur qui spécifie un StackPanel. Pour le ListBox, la valeur par défaut utilise le VirtualizingStackPanel. Pour MenuItem, la valeur par défaut utilise WrapPanel. Pour StatusBar, la valeur par défaut utilise DockPanel.
Constructeurs
| Nom | Description |
|---|---|
| ItemsPanelTemplate() |
Initialise une instance de la ItemsPanelTemplate classe. |
| ItemsPanelTemplate(FrameworkElementFactory) |
Initialise une instance de la ItemsPanelTemplate classe avec le modèle spécifié. |
Propriétés
| Nom | Description |
|---|---|
| Dispatcher |
Obtient ce Dispatcher qui DispatcherObject est associé. (Hérité de DispatcherObject) |
| HasContent |
Obtient une valeur qui indique si ce modèle a optimisé le contenu. (Hérité de FrameworkTemplate) |
| IsSealed |
Obtient une valeur qui indique si cet objet est dans un état immuable afin qu’il ne puisse pas être modifié. (Hérité de FrameworkTemplate) |
| Resources |
Obtient ou définit la collection de ressources qui peuvent être utilisées dans l’étendue de ce modèle. (Hérité de FrameworkTemplate) |
| Template |
Obtient ou définit une référence à l’objet qui enregistre ou lit les nœuds XAML du modèle lorsque le modèle est défini ou appliqué par un enregistreur. (Hérité de FrameworkTemplate) |
| VisualTree |
Obtient ou définit le nœud racine du modèle. (Hérité de FrameworkTemplate) |
Méthodes
| Nom | Description |
|---|---|
| CheckAccess() |
Détermine si le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| FindName(String, FrameworkElement) |
Recherche l’élément associé au nom spécifié défini dans ce modèle. (Hérité de FrameworkTemplate) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (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. (Hérité de FrameworkTemplate) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| RegisterName(String, Object) |
Inscrit une nouvelle paire nom/objet dans l’étendue actuelle du nom. (Hérité de FrameworkTemplate) |
| Seal() |
Verrouille le modèle afin qu’il ne puisse pas être modifié. (Hérité de FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la Resources propriété sur les instances de cette classe. (Hérité de FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la VisualTree propriété sur les instances de cette classe. (Hérité de FrameworkTemplate) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| UnregisterName(String) |
Supprime un mappage nom/objet de l’étendue de noms XAML. (Hérité de FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Vérifie que le parent modèle est un objet non null ItemsPresenter . |
| VerifyAccess() |
Applique que le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| INameScope.FindName(String) |
Retourne un objet qui a le nom d’identification fourni. (Hérité de FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Interroge si une propriété ambiante spécifiée est disponible dans l’étendue actuelle. (Hérité de FrameworkTemplate) |