Я пишу расширение Visual Studio, где я создаю линейные украшения, которые необходимо изменить, когда пользователь изменяет размер кода. То есть когда пользователь изменяет размер окна Visual Studio, я изменяю ширину и высоту украшения. Я обрабатываю событие IWpfTextView.LayoutChanged
, и я меняю размеры своих украшений. Чтобы избежать перекрытия украшений строками ниже, я также реализовал ILineTransformSource.GetLineTransform, чтобы увеличить высоту линии, чтобы приспособить размер украшения.Как вы вызываете вызов ILineTransformSource.GetLineTransform в расширении VS для изменения размеров размеров строк?
Однако, когда я изменить размеры украшений (при обращении с IWpfTextView.LayoutChanged
события) Я не получать вызовы к моей функции ILineTransformSource.GetLineTransform, чтобы изменить размер строки преобразования. Это оставляет украшение, перекрывающее линии под ним. Кажется, я не могу найти способ позвонить по телефону ILineTransformSource.GetLineTransform
. (Хотя, если пользователь прокручивает представление, я получаю эти вызовы. Но я не хочу, чтобы заставить пользователя прокручивать окно, чтобы исправить визуальный сбой.)
Кто-нибудь знает о способе заставить Visual Studio вызвать мой ILineTransformSource.GetLineTransform
, чтобы я мог изменять размеры линий, когда мои украшения меняют высоту?
Вы поняли это? Мне нужно освободить место и для моего украшения. – jwize