Exponer los botones de los controles secundarios a los controles de los padres

Esta es más una cuestión de diseño de arquitectura, por lo que no tendría fragmentos de código asociados.

Tengo una clase de ventana de nivel superior, que tiene una barra de herramientas. La clase Window podría usarse para alojar varios contenidos. Ese contenido puede tener Comandos disponibles para actuar sobre él. La ventana no puede saber cuáles son esos comandos. Quiero que esos Comandos (con imágenes asociadas, probablemente) estén disponibles para la Ventana.

¿Cuáles son las mejores soluciones para esto?

Una de las ideas que estoy dando vueltas en mi cabeza es tener una propiedad adjunta que contenga un conjunto de botones, y que la ventana encuentre elementos secundarios que tengan esta propiedad adjunta y coloque esos botones en su barra de herramientas.

preguntado el 09 de marzo de 12 a las 22:03

1 Respuestas

Creo que estás en el camino correcto, pero piensa en exponer los comandos en lugar de los botones en sí. En cualquier mecanismo que tenga para alojar el contenido en la ventana, puede ver qué comandos están disponibles y agregarlos a la barra de herramientas. Puede crear una pequeña clase de utilidad para contener un comando y su icono asociado. Y tener una colección de AvailableCommands. Solo intente mantener el comportamiento y los datos lo más separados posible de la interfaz de usuario. Luego, la ventana puede decidir la mejor manera de representar visualmente esos comandos, ya sea una barra de herramientas, un menú contextual, lo que sea.

respondido 09 mar '12, 22:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.