DataTemplate 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.
Décrit la structure visuelle d'un objet de données.
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- Héritage
- Dérivé
- Attributs
Exemples
L’exemple suivant montre comment créer un DataTemplate inline. Spécifie DataTemplate que chaque élément de données apparaît sous la forme de trois TextBlock éléments dans un StackPanel. Dans cet exemple, l’objet de données est une classe appelée Task
. Notez que chaque TextBlock élément de ce modèle est lié à une propriété de la Task
classe.
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Il est plus courant de définir une DataTemplate section ressources afin qu’elle puisse être un objet réutilisable, comme dans l’exemple suivant :
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
Vous pouvez à présent utiliser myTaskTemplate
comme ressource, comme dans l’exemple suivant :
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Vous trouverez l’exemple complet sur la page Présentation d’un exemple de création de modèles de données.
Remarques
Vous utilisez un DataTemplate pour spécifier la visualisation de vos objets de données. DataTemplateles objets sont particulièrement utiles lorsque vous liez un ListBox objet tel qu’une ItemsControl collection entière. Sans instructions spécifiques, une ListBox représentation sous forme de chaîne des objets d’une collection est affichée. Dans ce cas, vous pouvez utiliser un DataTemplate pour définir l’apparence de vos objets de données. Le contenu de votre DataTemplate devient la structure visuelle de vos objets de données.
Pour une discussion approfondie, consultez Vue d’ensemble du templatage des données.
Constructeurs
DataTemplate() |
Initialise une nouvelle instance de la classe DataTemplate. |
DataTemplate(Object) |
Initialise une nouvelle instance de la classe DataTemplate contenant la propriété DataType spécifiée. |
Propriétés
DataTemplateKey |
Obtient la clé par défaut de DataTemplate. |
DataType |
Obtient ou définit le type auquel ce DataTemplate est destiné. |
Dispatcher |
Obtient le Dispatcher associé à DispatcherObject. (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 (c'est-à-dire qu'il ne peut pas être modifié). (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. (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. (Hérité de FrameworkTemplate) |
Triggers |
Obtient une collection de déclencheurs qui appliquent des valeurs de propriétés ou effectuent des actions selon une ou plusieurs conditions. |
VisualTree |
Obtient ou définit le nœud racine du modèle. (Hérité de FrameworkTemplate) |
Méthodes
CheckAccess() |
Détermine si le thread appelant a accès à ce DispatcherObject. (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() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le 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 Object actuel. (Hérité de Object) |
RegisterName(String, Object) |
Inscrit une nouvelle paire nom-objet dans la portée de nom active. (Hérité de FrameworkTemplate) |
Seal() |
Verrouille le modèle de façon à ce 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 propriété Resources 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 propriété VisualTree 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 la portée de nom XAML. (Hérité de FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
Vérifie le parent basé sur des modèles par rapport à un ensemble de règles. |
VerifyAccess() |
Garantit que le thread appelant a accès à DispatcherObject. (Hérité de DispatcherObject) |
Implémentations d’interfaces explicites
INameScope.FindName(String) |
Retourne un objet qui a le nom d’identification fourni. (Hérité de FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Demande si une propriété ambiante spécifiée est disponible dans la portée actuelle. (Hérité de FrameworkTemplate) |