2009-11-02 3 views
2

Dans ma demande, je voudrais avoir DataTemplates de telle sorte que je peux dire:Comment avoir des classes de DataTemplates?

  • Ce sont les DataTemplates pour une utilisation dans un TreeView
  • Ce sont les DataTemplates à utiliser lors de l'affichage du résumé d'un objet
  • ce sont les DataTemplates à utiliser lors de l'affichage des détails

la seule façon que je l'ai vu pour être en mesure de le faire est de créer un DataTemplateSelector et retourner manuellement le DataTemplate (éventuellement par une convention de nommage) T La classe dont j'ai besoin. Y a-t-il une façon plus élégante de gérer cette situation?

Répondre

2

Je ne suis pas sûr de comprendre complètement ce que vous cherchez, mais vous devriez simplement pouvoir définir le DataTemplate dans un ResourceDictionary à l'étendue qui vous convient le mieux (Application, Fenêtre, Elément ou externe) avec un x:Key du type de données pour lequel ils sont destinés et ils seront automatiquement sélectionnés par le moteur de sélection de modèles de données intrinsèques de WPF.

Par exemple:

<Window ...> 
    <Window.Resources> 
     <DataTemplate x:Key="{x:Type myns:MyDataType}"> 
      <!-- your template definition here --> 
     </DataTemplate> 
    </Window.Resources> 
</Window> 

Maintenant, chaque fois une instance de MyDataType est rencontré dans cette fenêtre WPF sélectionnera automatiquement ce modèle pour afficher ses données.

0

Vous pouvez définir la propriété DataType de DataTemplate. Au moment de l'exécution, le modèle sera automatiquement affecté à l'objet de son type.

Questions connexes