Domanda

Sto cercando di separare la funzionalità di un condiviso-add-in e un corrispondente nastro (integrato attraverso Designer nastro o XML in VS10). Il contesto soluzione è costruire con diversi progetti in cui il componente aggiuntivo di per sé rappresenta un host con un'interfaccia ad un'altra assembly che è caricato sopra runtime. In questa assemblea voglio ottenere l'accesso ai metodi di callback della barra multifunzione implementato nel condiviso-aggiuntivo (Connect.cs). Il MSProject2010 applicazione ho cercato di iniettare il nastro è avvolto in tale complesso di concedere l'accesso alla istanza di progetto.

Nel Host è una startup () - La funzione che esegue una scansione di tutti gli assembly in una directory specifica e integra l'una con l'interfaccia giusta. Così, l'AddIn_Startup (Parametri) -Funzione trova nella assemblea è chiamata attraverso l'interfaccia e qui è il contesto, dove voglio accedi ai miei nastro callback.

Ora, come è possibile instradare le richiamate dalla MSProject-applicazione, attraverso la condivisione-add-in nel gruppo?

Un'altra domanda: Come è possibile accedere ad una barra multifunzione personalizzata attraverso un assembly esterno? (Stesso ambiente)

Con i migliori saluti

È stato utile?

Soluzione

Ho trovato una soluzione io stesso.

Il problema è il contesto del-componente aggiuntivo condiviso. E 'complicato per manipolare un ambiente nastro rispetto al modo in cui è realizzabile tramite VSTO. Girai la compartecipazione modulo aggiuntivo in un MSProject2010-Addin e poi passo il nastro stesso come nell'interfaccia. Questo è possibile facendo un nastro con la progettazione del nastro che registri il nastro nella classe Globals, che viene consegnato da parte del componente aggiuntivo. (Globals.Ribbons.RibbonName.Ribbon). Sull'altro lato ho lanciato questo oggetto in un OfficeRibbon ed assegnare a un OfficeRibbon vuoto. Qui posso manipolare e modificare le proprietà del nastro e creare EventHandlers. NON è possibile aggiungere schede, pulsanti o altri controlli alla barra multifunzione in fase di esecuzione! Almeno io non riuscivo a trovare un modo per farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top