2010-04-19 9 views
2

J'ai une zone sur la gauche avec des éléments sélectionnables, et en fonction du type d'élément sélectionné, je souhaite afficher l'une des trois ou quatre formes différentes sur la droite.WPF: situation maître/détail

Ce serait bien de faire un certain type de contrôle afin que la forme principale puisse être moins gâchée.

Quel est le meilleur modèle pour cela dans WPF?

Je suis un débutant WPF, et j'ai passé un certain temps dans certaines directions évidemment incorrectes. Merci!

Répondre

3

Je dirais, autant que possible Les modèles sont le chemin à parcourir dans WPF. Ils définissent comment les contrôles ou les données sont affichés dans l'interface utilisateur. En utilisant des modèles, il est possible d'utiliser n'importe quel objet (pas seulement des chaînes) comme le contenu d'un bouton, par exemple. Si vous définissez le contenu d'un bouton pour être un objet de type MyType, WPF recherchera un DataTemplate pour MyType dans les ressources et utilisera celui-ci s'il est trouvé. Si aucun DataTemplate n'est trouvé, il utilisera la méthode ToString() de cet objet et affichera le résultat.

Dans votre scénario, vous pouvez utiliser un ContentControl simple pour afficher vos détails sur la droite et définir différents DataTemplate s pour chaque type d'élément. Si tous les éléments n'ont pas besoin d'un modèle différent (c'est-à-dire que certains types partagent le même modèle), vous pouvez implémenter un ContentTemplateSelector pour déterminer le bon DataTemplate par programme. Le Data Templating Overview donne une bonne introduction à ce sujet.

HTH, bonne chance!

Questions connexes