Question

Je suis en train de séparer la fonctionnalité d'un complément partagé et un ruban correspondant (intégré par ruban Designer ou XML VS10). Le contexte de la solution est construite avec plusieurs projets dans lesquels le complément lui-même représente un hôte avec une interface à une autre assemblée qui est chargé sur l'exécution. Dans cet ensemble, je veux avoir accès aux méthodes de rappel du ruban mis en œuvre dans les-add-in (partagé Connect.cs). Le MSProject2010 application j'ai essayé d'injecter le ruban est enveloppé dans cette assemblée d'accorder l'accès à l'instance du projet.

Dans l'hôte est un démarrage () - Fonction qui scanne à travers toutes les assemblées dans un répertoire spécifique et intègre celui avec l'interface droite. Ainsi, le AddIn_Startup (Params) -Function situé dans l'assemblée est appelée à travers l'interface et est ici le contexte, où je veux avoir accès à mes ruban callbacks.

Maintenant, comment est-il possible d'acheminer callbacks du MSProject application, par le dans l'ensemble partagé add-in?

Une autre question: Comment est-il possible d'accéder à un ruban personnalisé à travers un ensemble externe? (Même environnement)

Cordialement

Était-ce utile?

La solution

Je me suis trouvé une solution.

Le problème est le contexte de la Addin partagée. Il est compliqué de manipuler un environnement de ruban par rapport à la façon dont il est réalisable par VSTO. Je me suis tourné le Addin partagé dans un MSProject2010-Addin, puis je passe le ruban lui-même comme dans l'interface. Ceci est possible en faisant un ruban avec le concepteur de ruban qui enregistre le ruban dans la classe Globals, qui est délivré par le Addin. (Globals.Ribbons.RibbonName.Ribbon). De l'autre côté, je lance cet objet dans un OfficeRibbon et lui attribuer un OfficeRibbon vide. Ici, je peux manipuler et modifier les propriétés du ruban et créer gestionnaires d'événements. Il est impossible d'ajouter des onglets, des boutons ou autres commandes du ruban lors de l'exécution! Au moins, je ne pouvais pas trouver un moyen de le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top