¿Cómo personalizo la cinta de Word 2010 solo a pedido en un complemento de VSTO4?

Actualmente me estoy sumergiendo en el desarrollo de complementos de VSTO y la personalización de la cinta para Word 2010. Esto funciona bien, pero tiene un inconveniente: la personalización de la cinta debe realizarse solo para ciertos documentos, pero el método IRibbonExtensibility.GetCustomUI () obviamente se llama en la aplicación inicio antes de que se cargue cualquier documento. ¿Cómo puedo cumplir con este requisito?

preguntado el 10 de mayo de 11 a las 14:05

2 Respuestas

Tienes razón en que solo se llama una vez. Acerca de su única opción (y lo que funcionó para mí razonablemente bien), es definir TODO en su cinta por adelantado, luego establecer la propiedad VISIBLE en falso o verdadero según corresponda dependiendo de qué documento está cargado, o cualquier otra cosa que esté sucediendo en su complemento .

contestado el 10 de mayo de 11 a las 18:05

Suena prometedor. ¿Esto también funciona para deshabilitar (no ocultar) los comandos internos o cuando se usa startFromScratch? - Fulano de Tal

Desde la página de msdn, creo que esto no funcionará para StartFromScratch (consulte la sección "Comentarios"): msdn.microsoft.com/en-us/library/… - Mathias

Eso es completamente posible. Todavía no he necesitado empezar desde cero. Eso básicamente apaga TODAS las cintas definidas internamente, ¿no es así? Si es así, eso significa que se necesitará mucho más trabajo para "redefinir" todos los elementos que ya están definidos por Word (sin mencionar hacer que Word se vea muy diferente del stock, lo cual no estoy seguro de que sea algo bueno, aunque supongo que en circunstancias muy limitadas, es posible que desee hacer esto. DarinH

@drventure tiene razón, tienes que definir tu cinta desde el principio, luego mostrar / ocultar diferentes botones en la cinta.

Sin embargo, lo que podría ayudarlo son algunas de las características en un proyecto en el que he estado trabajando, VSTO Contrib, le permite crear un ViewModel, que se creará para cada documento abierto, y descubrirá y conectará la cinta xml por convención.

En su caso, esto significaría que puede vincular la visibilidad de los botones de la cinta a una propiedad en el modelo de vista, y no tiene que preocuparse por mantener la ventana / documentos sincronizados. Tener una lectura de http://jake.ginnivan.net/vsto-contrib/ribbon-factory y vea si le ayudará a resolver su problema con un montón de código menos =)

contestado el 16 de mayo de 11 a las 09:05

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