Pregunta

Esto parece haberse preguntado varias veces aquí sin una respuesta real:

Acceso a los controles de cinta programáticamente en una cinta XML

Office Ribbon: cómo acceder a un control cuando se creó la cinta usando XML

Si se crea una cinta usando XML de cinta, por lo que puedo decir, no hay exposición programática de los componentes definidos en ese XML. La única forma limitada obvia de cambiar el estado de estos componentes es usar algo como OnAction, GetContent, GetImage Event y el elemento IribbonControl ofrece muy poco para manipular el elemento en cuestión (sin mencionar, la mayoría de esas funciones solo se ejecutan una vez una vez , cuando se presenta por primera vez).

Así que estoy tratando de encontrar una manera de acceder programáticamente a esos elementos de cinta XML.

¿Fue útil?

Solución

No hay forma de acceder programáticamente a los elementos de la cinta cuando se usa XML de cinta. Si desea cambiar el estado de los controles de la cinta, debe usar IRibbonUI.Invalidate() para forzar una nueva representación del diseño (Potencialmente, utilizando propiedades que desencadenan diferentes comportamientos en el tiempo de representación a través de devoluciones de llamada). Esto puede ser algo bueno, ya que tiene más control sobre cuando se produce el dibujo si está cambiando el estado de múltiples elementos.

Ver Relacionado SO POST Al actualizar el estado de control de la interfaz de usuario de la cinta.

Si desea acceso programático a elementos de cinta, debe usar el Diseñador de cintas. Sin embargo, como declarado en msdn, el diseñador no admite todas las personalizaciones. Alguno Especular que el diseñador solo envuelva el XML de la cinta arriba para ti debajo del capó.

Solo tienes que aprender el Mecanismo de devolución de llamada utilizado por la cinta XML - No hay un árbol de control al que pueda acceder.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top