Расширение Visual Studio MEF - принудительно обновлять или перерисовывать графы полей

Расширение, которое я пишу, начало свою жизнь с пошагового руководства: создание примера Margin Glyph, предоставленного Microsoft:https://msdn.microsoft.com/en-us/library/ee361745.aspx

Все работает хорошо, за исключением того, что я пытаюсь вызвать перерисовку или обновление глифов полей всякий раз, когда данные, которые я использую для принятия решения, какую линию рисовать на изменениях.

В основном у меня есть кнопка в окне инструментов, когда пользователь нажимает кнопку, я хочу, чтобы на полях появлялся глиф. Прямо сейчас, он не появится, пока вы не прокрутите и не вернетесь назад или, очевидно, не закроете и не перезагрузите документ.

Я исследовал это и видел несколько примеров кода, которые используют IViewTaggerProvider вместо ITaggerProvider. В этих случаях оказалось, что обработчик для события LayoutChanged можно добавить в производный класс ITagger, который также содержит метод GetTags. Однако я не смог успешно переключить код с использования ITaggerProvider на IViewTaggerProvider, расширение зависало при запуске. Я не знаю, приведет ли это изменение к решению или оно не нужно.

Как я могу заставить глиф визуализироваться? Могу ли я вызвать какое-либо событие, чтобы заставить работать код GetTags? Как бы я поднял это событие за пределами класса? Из окна инструмента например?

Ответы на вопрос(1)

Ваш ответ на вопрос