Перенаправляющие обратные вызовы для разделения функциональности ленты от общего надстройки

StackOverflow https://stackoverflow.com/questions/4204293

Вопрос

Я пытаюсь разделить функциональность общего надстройки и соответствующей ленты (встроенный через дизайнер ленты или XML в VS10). Контекст раствора является сборки с несколькими проектами, в которых сама добавка представляет собой хост с интерфейсом к другой сборке, который загружается во время выполнения. В этой агрегате я хочу получить доступ к методам обратного вызова ленты, реализованные в совместно используемом (Connect.cs). MSPROCK2010-приложение, которое я пытался ввести ленту, обернутую в этой сборке, чтобы предоставить доступ к экземпляру проекта.

В хосте является запущение () - функция, которая сканирует через все сборки в определенном каталоге и интегрирует один с правым интерфейсом. Итак, Addin_Startup (Params) -Function, расположенный в сборке, называется через интерфейс, а вот контекст, где я хочу получить доступ к моим лентам обратным вызовам.

Теперь, как можно направить обратные вызовы из MSPROJECT-приложения, через совместно используемое в сборку?

Другой вопрос: как можно получить доступ к пользовательской ленте через внешнюю сборку? (То же окружающая среда)

С наилучшими пожеланиями

Это было полезно?

Решение

Я нашел решение сам.

Проблема в том, что контекст общего наркодана. Он сложен для манипулирования лентой средой по сравнению с тем, как она реализуема через VSTO. Я повернул общий наркоман в MSPROJECT2010-Addin, а затем пропускаю саму ленту в интерфейс. Это возможно, сделав ленту с помощью дизайнера ленты, который регистрирует ленту в классе глобалей, который доставляется аддин. (Globals.ribbons.ribbonname.ribbon). С другой стороны я бросил этот объект в Offeribbon и назначить его пустую команду Smanderibbon. Здесь я могу манипулировать и изменять свойства ленты и создавать события Handhandlers. Невозможно добавлять вкладки, кнопки или другие элементы управления на ленту во время выполнения! По крайней мере, я не мог найти способ сделать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top