Exporter (0) Imprimer
Développer tout

DataTemplate, classe

Mise à jour : Juillet 2008

Décrit la structure visuelle d'un objet de donnée.

Espace de noms :  System.Windows
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

public class DataTemplate : FrameworkTemplate
public class DataTemplate extends FrameworkTemplate
public class DataTemplate extends FrameworkTemplate
<DataTemplate>
  VisualTree
</DataTemplate>

Vous devez utiliser DataTemplate pour spécifier la visualisation de vos objets de données. Les objets DataTemplate sont particulièrement utiles lorsque vous liez un objet ItemsControl tel que ListBox à une collection entière. Sans instruction particulière, ListBox affiche la représentation sous forme de chaîne des objets d'une collection. Dans ce cas, vous pouvez utiliser DataTemplate pour définir l'apparence de vos objets de données. Le contenu de DataTemplate devient la structure visuelle de vos objets de données.

Pour une discussion détaillée, consultez Vue d'ensemble des modèles de données.

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.

<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 DataTemplate dans la section des ressources afin d'en faire 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 maintenant utiliser myTaskTemplate en tant que ressource, comme dans l'exemple suivant :

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>


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

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.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Date

Historique

Raison

Juillet 2008

Ajout d'un nouveau membre : propriété DataTemplateKey.

Modifications de fonctionnalités dans le SP1.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft