2010-08-04 15 views
5

Estoy desarrollando una aplicación de WPF para tratar de comprender mejor de qué se trata y qué puede hacer. Aunque tengo una situación en la que no estoy seguro de cuál es la mejor manera de implementarla, donde básicamente mi IU debe cambiar según la selección del usuario.Cómo implementar la interfaz de usuario dinámica de WPF

Esencialmente deseo construir un conjunto de 'ConditionRows', donde el usuario especifica un 'Campo' y 'Condición' y un 'Estilo' para usar si esa condición coincide. Me imagino que el diseño será similar al de abajo.

alt text http://img63.imageshack.us/img63/1813/39321945.jpg

Lo que necesito hacer es cambiar lo que se muestra en el 'Control 1' (ya sea un cuadro de texto, o 2 cuadros de texto y una etiqueta, o nada) y 'Control 2' (ya sea un cuadro combinado enlazado , numérico arriba/abajo, selector de color). No estoy seguro de la mejor manera de cambiar dinámicamente estos controles y mantener la separación de código/xaml tanto como sea posible.

Respuesta

3

Si está haciendo MVVM, puede hacer que el ViewModel hijo para cada área de control sea una propiedad polimórfica del ViewModel principal (es decir, IControlGroupViewModel, y un ViewModel concreto para cada agrupación de control posible). Luego puede crear una plantilla de datos para cada tipo concreto en un diccionario de recursos. Si vincula la vista a la propiedad polimórfica, se debe elegir la plantilla de datos correcta en tiempo de ejecución.

Cuestiones relacionadas