wpf listview
¿Plantilla de artículo diferente para cada artículo en una lista de WPF? (2)
Eche un vistazo a la propiedad ItemTemplateSelector de su control de lista. Puede dirigirlo a un TemplateSelector personalizado y decidir qué plantilla usar en el código.
Aquí hay una publicación de blog que describe TemplateSelectors:
http://blogs.interknowlogy.com/johnbowen/archive/2007/06/21/20463.aspx
Editar: Aquí hay una mejor publicación:
http://blog.paranoidferret.com/index.php/2008/07/16/wpf-tutorial-how-to-use-a-datatemplateselector/
Tengo muchos elementos dentro de un control de lista. Quiero que cada elemento tenga una plantilla de artículo diferente según el tipo de artículo. Por lo tanto, el primer elemento de la lista es un tipo ObjectA y, por lo tanto, quiero que se represente con ItemTemplateA. El segundo elemento es de tipo ObjectB y, por lo tanto, quiero que tenga ItemTemplateB para renderizar. Por el momento, solo puedo usar la configuración de ItemTemplate para definir una plantilla para todos ellos. Cualquier forma de lograr esto?
el ItemTemplateSelector
funcionará, pero creo que es más fácil crear múltiples DataTemplate
en su sección de recursos y luego simplemente darles a cada uno un DataType
. ¿Esto utilizará automáticamente este DataTemplate
si el generador de elementos detecta el tipo de datos coincidente?
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
También asegúrese de no tener x:Key
establecida para DataTemplate
.
Lea más sobre este enfoque aquí