Pregunta

Estoy usando VSTO 3.0 y el diseñador de la cinta me da una cinta que aparentemente se comparte entre los documentos.

Entonces, si tengo un estado específico del documento (por ejemplo, el número de etiquetas XML marcadas) que debe aparecer en la cinta (o un botón de alternar), entonces todos los documentos parecen compartir la instancia de la cinta

¿Cómo puedo solucionar esto? TIA

¿Fue útil?

Solución

Conéctese a un evento apropiado (como cuando se cambia el documento activo) dentro del modelo de documento, y en ese caso invalide el botón de cinta apropiado (necesitará la identificación del elemento del xml de cinta original que carga) .

Luego, cuando se produce la devolución de llamada del estado de actualización para ese botón, puede actualizar el título / imagen / habilitado según sea necesario.

Otros consejos

Puede usar el evento Application.DocumentChange o el evento Application.WindowActivate.

El primero se dispara y luego cambia el documento activo actual, pero en los argumentos no hay información sobre ese documento, por lo que es difícil trabajar con él porque tendrá que resolverlo.

Este último es similar y se activa cada vez que cambia de ventana, pero en este caso pasa el documento activo actual como argumento, por lo que es más fácil cambiar la cinta si necesita verificar el valor de cualquier propiedad del documento. Eso funcionó para mí.

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