ItemTemplate Propriété
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Propriété ItemsControl.ItemTemplate

 

Obtient ou définit le DataTemplate utilisé pour afficher chaque élément.

Espace de noms:   System.Windows.Controls
Assembly:  PresentationFramework (dans PresentationFramework.dll)

[BindableAttribute(true)]
public DataTemplate ItemTemplate { get; set; }

Valeur de propriété

Type: System.Windows.DataTemplate

DataTemplate qui spécifie la visualisation des objets de données.La valeur par défaut est null.

Utilisez le ItemTemplate pour spécifier la visualisation des objets de données.Si votre ItemsControl est lié à un objet de collection et que vous ne fournissez pas d'instructions d'affichage spécifiques à l'aide d'un DataTemplate, l'UI résultant de chaque élément est une représentation sous forme de chaîne de chaque objet dans la collection sous-jacente.

Lorsque vous définissez un ItemTemplate pour un ItemsControl, l'UI est généré comme suit (à l'aide de la ListBox par exemple) :

  1. Pendant la génération de contenu, le ItemsPanel initialise une demande pour que ItemContainerGenerator crée un conteneur pour chaque élément de données.Pour ListBox, le conteneur est un ListBoxItem.Le générateur revient à ItemsControl pour préparer le conteneur.

  2. Une partie de la préparation consiste à copier le ItemTemplate de la ListBox pour créer le ContentTemplate du ListBoxItem.

  3. Comme pour tous types ContentControl, le ControlTemplate d'un ListBoxItem contient un ContentPresenter.Lorsque le modèle est appliqué, il crée un ContentPresenter dont le ContentTemplate est lié au ContentTemplate du ListBoxItem.

  4. Pour finir, le ContentPresenter applique ce ContentTemplate à lui-même, et cela crée l'UI.

Si vous avez plusieurs DataTemplate définis et que vous souhaitez fournir une logique pour permettre de choisir et appliquer par programme un DataTemplate, utilisez la propriété ItemTemplateSelector.

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.Pour affecter la disposition des éléments, utilisez la propriété ItemsPanel.Si vous utilisez le regroupement pour votre contrôle, vous pouvez utiliser la propriété GroupStyle ou la propriété GroupStyleSelector.

Pour plus d'informations, consultez Vue d'ensemble des modèles de données.

<object ItemTemplate=" ResourceExtension TemplateResourceKey"/>

ResourceExtension

L'un des éléments suivants : StaticResource, extension de balisage ou DynamicResource のマークアップ拡張機能.À moins que les styles contiennent eux-mêmes des références à des références potentielles de durée d'exécution, telles que les ressources système ou les préférences de l'utilisateur, la référence StaticResource, extension de balisage à un style est généralement recommandée pour des raisons de performances.

TemplateResourceKey

Valeur de la chaîne x:Key – direktiva qui fait référence au modèle qui est demandé comme ressource.

Champ d'identificateur

ItemTemplateProperty

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

Aucune

L'exemple de code suivant illustre comment créer un objet DataTemplate inline. DataTemplate spécifie que chaque élément de données apparaît sous forme de trois éléments TextBlock dans un objet StackPanel.Dans cet exemple, l'objet de donnée correspond à une classe appelée Task.Notez que chaque élément TextBlock de ce modèle est lié à une propriété de la classe Task.

Il est plus courant de définir DataTemplate dans la section des ressources afin d'en faire un objet réutilisable, comme dans l'exemple suivant :

Vous pouvez à présent utiliser myTaskTemplate en tant que ressource, comme dans l'exemple suivant :

Pour obtenir l'exemple complet, consultez la rubrique Introduction aux modèles de données, exemple.

.NET Framework
Disponible depuis 3.0
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Retour au début
Afficher:
© 2016 Microsoft