Question

J'ai plusieurs éléments dans un contrôle de liste. Je veux que chaque élément ait un modèle d'élément différent selon le type d'élément. Le premier élément de la liste est donc un type ObjectA et je souhaite donc qu'il soit rendu avec ItemTemplateA. Le second élément est un type ObjectB et je veux donc qu’il ait ItemTemplateB pour le rendu. Pour le moment, je ne peux utiliser le paramètre ItemTemplate que pour définir un modèle pour tous. Un moyen d'y arriver?

Était-ce utile?

La solution

le ItemTemplateSelector fonctionnera, mais je pense qu'il est plus facile de créer plusieurs DataTemplate dans votre section de ressources et de simplement donner à chacun un DataType . Ceci utilisera alors automatiquement ce DataTemplate si le générateur d’éléments détecte le type de données correspondant?

<DataTemplate DataType={x:Type local:ObjectA}>
   ...
</DataTemplate>

Assurez-vous également que x: clé n'est pas défini pour DataTemplate .
En savoir plus sur cette approche ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top