Как настроить ленту Word 2010 только по требованию в надстройке VSTO4? - PullRequest
0 голосов
/ 10 мая 2011

В настоящее время я углубляюсь в разработку надстроек VSTO и настройку ленты для Word 2010. Это прекрасно работает, но имеет недостаток: настройка ленты должна выполняться только для определенных документов, но метод IRibbonExtensibility.GetCustomUI (), очевидно,вызывается при запуске приложения до загрузки любого документа.Как я могу выполнить это требование?

Ответы [ 2 ]

1 голос
/ 10 мая 2011

Вы правы, что это называется только один раз.Ваш единственный выбор (и то, что для меня работает достаточно неплохо), это определить ВСЕ на вашей ленте заранее, а затем установить для свойства VISIBLE значение false или true, в зависимости от того, какой документ загружен или что-то еще происходит в вашем дополнении..

0 голосов
/ 16 мая 2011

@ drventure прав, вы должны определить свою ленту впереди, а затем показать / скрыть различные кнопки на ленте.

Что может помочь вам, хотя некоторые функции в проекте, над которым я работал, VSTO Contrib, позволяют создавать ViewModel, который будет создаваться для каждого открытого документа, и обнаруживать и связывать лента xml по договоренности.

В вашем случае это будет означать, что вы можете связать видимость кнопок ленты со свойством на модели представления, и вам не нужно беспокоиться о синхронизации окна / документов. Прочитайте http://jake.ginnivan.net/vsto-contrib/ribbon-factory и посмотрите, поможет ли это решить вашу проблему с помощью кучи без кода =)

...