Frage

Ich versuche, die Funktionalität eines Shared-Add-in und ein entsprechendes Band (integrierte durch Band-Designer oder XML in VS10) zu trennen. Die Lösung Zusammenhang ist build mit mehreren Projekten, bei denen die Add-In selbst einen Host mit einer Schnittstelle zu einer anderen Baugruppe darstellt, die zur Laufzeit geladen wird. In dieser Versammlung mag ich den Zugriff auf die Callback-Methoden der Band in der Shared-Add-In (Connect.cs) umgesetzt bekommen. Die MSProject2010-Anwendung Ich habe versucht, die Band zu injizieren ist Montag, dass gewickelten Zugriff auf die Instanz des Projektes zu gewähren.

In der Host ist eine Startup () - Funktion, die durchsucht alle Baugruppen in einem bestimmten Verzeichnis und integriert das mit der richtigen Schnittstelle. Also, die AddIn_Startup (Param) -Funktion befindet sich in der Versammlung über die Schnittstelle aufgerufen wird, und hier ist der Kontext, in dem ich möchte den Zugriff auf meine Band-Rückrufe erhalten.

Nun, wie ist es möglich, die Rückrufe von der MSProject-Anwendung auf Route durch die Shared-Add-In in die Versammlung?

Eine weitere Frage: Wie ist es möglich, eine eigene Band durch eine externe Baugruppe zuzugreifen? (Same-Umgebung)

Mit freundlichen Grüßen

War es hilfreich?

Lösung

Ich fand eine Lösung selbst.

Das Problem ist der Kontext des Shared-Addin. Es ist kompliziert eine Band Umwelt zu manipulieren im Vergleich zu dem Weg, es realisierbar über VSTO ist. Ich drehte den Shared-Addin in eine MSProject2010-Addin und dann gebe ich die Band selbst als in die Schnittstelle. Dies ist möglich durch ein Band mit dem Band Designer, dass die Register der Band in der Globals-Klasse zu machen, die von der Addin geliefert wird. (Globals.Ribbons.RibbonName.Ribbon). Auf der anderen Seite gegossen I dieses Objekt in einen Office und ordnen sie in einen leeren Office. Hier kann ich manipulieren und die Eigenschaften des Bandes verändern und Eventhandler erstellen. Es ist nicht möglich, Tabs, Buttons oder andere Steuerelemente auf das Band während der Laufzeit hinzuzufügen! Wenigstens kann ich nicht einen Weg finden, das zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top