Почему мой метод CreateRibbonExtensibilityObject не вызывается? - PullRequest
4 голосов
/ 23 мая 2010

Привет. Я возился с двумя методами модификации ленты с помощью надстройки MS Word (Visual Studio 2010, .NET 3.5), Microsoft.Office.Tools.Ribbon.OfficeRibbon и Microsoft.Office.Core. IRibbonExtensibility. Я надеялся переключиться между ними в CreateRibbonExtensibilityObject моего надстройки, но по какой-то причине он сейчас не вызывается. В документации сказано, что если надстройка реализует CreateRibbonExtensibilityObject, то он будет вызван. Когда я создаю новый проект, чтобы проверить, как это работает, это работает. Я бы предпочел не оставлять свой проект как есть. Есть идеи? Спасибо.

1 Ответ

1 голос
/ 22 марта 2011

Они на самом деле не взаимозаменяемы. Проблема в том, что если вы используете объект OfficeRibbon (который действительно хорош, у него есть хороший дизайнер и т. Д.), То ИТ-отдел реализует материал createribbonextensibility, и у вас нет шансов его перехватить.

В прошлом году я написал сообщение в блоге, в котором обсуждалась проблема с добавлением поддержки нового Office 2010 «Backstage view» из надстройки VSTO 3 (VSTO 3 не поддерживает Backstage, но все еще выполнимо, и вы я в основном использую ту же технику, чтобы поменять реализацию поддержки ленты).

реальный вопрос, зачем беспокоиться? Если вы выполнили работу по поддержке IExtensibility2 (а затем получили возможность полностью определить свой объект ленты в XML), в OfficeRibbon нет особой необходимости. и если вы используете офицерский контроль офицера, он может сделать все, что вы можете сделать, непосредственно указав xml, так зачем страдать?

Сообщение в блоге здесь http://www.vbfengshui.com/integrating-with-the-new-office-backstage-from-a-vsto-3-addin/

...