Количество экземпляров ленты на один документ - PullRequest
2 голосов
/ 17 ноября 2008

Я использую VSTO 3.0, и дизайнер ленты дает мне ленту, которая, по-видимому, является общей для всех документов.

Так что, если у меня есть определенное состояние документа (например, число размеченных тегов XML), которое должно отображаться на ленте (или кнопке переключения), тогда все документы, похоже, совместно используют экземпляр ленты

Как я могу это исправить ТИА

Ответы [ 2 ]

4 голосов
/ 16 сентября 2009

Вы можете использовать событие Application.DocumentChange или событие Application.WindowActivate.

Сначала запускается, затем вы изменяете текущий активный документ, но в аргументах нет информации об этом документе, поэтому с ним трудно работать, потому что вам придется это выяснить.

Последний аналогичен и запускается каждый раз при изменении окна, но в этом случае он передает текущий активный документ в качестве аргумента, поэтому проще изменить ленту, если вам нужно проверить значение какого-либо свойства документа. Это сработало для меня.

3 голосов
/ 17 ноября 2008

Подключите соответствующее событие (например, когда активный документ изменяется) в модели документа, и в этом случае аннулируйте соответствующую кнопку ленты (вам понадобится идентификатор элемента из оригинальной ленты XML, которую вы загрузили) .

Затем, когда произойдет обратный вызов состояния обновления для этой кнопки, вы можете обновить заголовок / изображение / включенный по мере необходимости.

...