Cambiar la plantilla de datos dinámicamente

Tengo un control de artículo que está vinculado a Tareas. Cada tarea tiene un estado de tarea. He definido diferentes plantillas de datos para cada estado de tarea, y también selector de plantilla de datos.

El problema es que no puedo descifrar cómo activar el selector de plantilla de datos cuando el estado de la tarea cambia dinámicamente.

Quiero saber cómo usar desencadenadores de datos junto con plantillas de datos.

Si esto no funciona, exploraré otras alternativas como
1. Propiedad vinculada al estado de la tarea. Cualquier cambio establecerá dinámicamente la plantilla de datos.
2. Administrador de estado visual

Un DataTemplateSelector no responde a las notificaciones PropertyChange , por lo que no se vuelve a evaluar cuando cambian sus propiedades.

La alternativa que uso es DataTriggers que cambia la Template función de una propiedad.

Por ejemplo, esto dibujará todos los objetos TaskModel usando ContentControl , y ContentControl.Template se basa en la propiedad TaskStatus del TaskModel

              

Solo una nota rápida para cualquiera que haya encontrado esto increíblemente útil como lo hice –

Actualmente, con WPF, parece que querrá usar DataType en lugar de TargetType en sus definiciones de DataTemplate:

       
    Intereting Posts