У меня есть надстройка VSTO3 Word, которая использует пользовательские ленты и панели задач и т. Д.
Теперь пришло время Office 2010, и появилась новая изящная концепция BACKSTAGE, которую я хотел бы использовать. Однако, насколько я могу судить, для работы с VSTO требуется Vsto 4, для которого требуется VS2010, а это не вариант.
Тааак. Я начал искать в Интернете и нашел все виды примеров, по сути, встраивания закулисного XML в любой XML-файл Ribbon, который я определяю, и возвращая его как значение GetCustomUI. Все хорошо, кроме того, что если вы используете VSTO3, похоже, нет никакого способа «зацепиться» за цепочку вызовов для GetCustomUI. Все это «автоматически» обрабатывается для вас классами OfficeRibbon и RibbonManage.
Я знаю, что я + МОГУТ + конвертировать надстройку в общую надстройку и просто напрямую реализовывать интерфейсы IDTExtensibility. Я бы потерять все VSTO благость (да, это спорно), но я бы получить доступ к вызову GetCustomUI.
Кто-нибудь пытался получить доступ к GetCustomUI + WHILE +, используя VSTO? Это вообще возможно?
Я думал, что смогу создать класс-оболочку для RibbonManager, но вот, MS пошла и сделала то, что выглядит как серьезное нарушение инкапсуляции. RibbonManager реализует приятный и простой интерфейс IRibbonExtensibility, и, тем не менее, там, где этот интерфейс передается, они фактически проверяют переданный объект, чтобы убедиться, что он имеет реальный тип RibbonManager! Тьфу, так много для любой обертки.