【发布时间】:2015-08-04 22:36:13
【问题描述】:
我正在编写一个管理一些装饰的扩展程序。其中一些可以跨越多个文本行。这个想法是装饰与跨度中的每一行相关联。因此,即使顶行从顶部滚动,我想在其余行上显示装饰的翻译/剪辑版本。
我希望 ITextView.LayoutChanged 事件在视图滚动时触发(如 MSDN 中的“编辑器内部”一文中所述)。但是,在某些情况下它不会。即,当滚动到文件末尾时。由于不需要格式化新行,因此不会触发 LayoutChanged。这意味着最终我的装饰附加到的行不再在 TextViewLines 中,所以装饰消失了。
很遗憾,ITextView 中没有 ViewportTopChanged 事件。 (奇怪的是有视口左、宽、高变化事件,但没有顶部变化事件。)我尝试使用 IScrollMap 来检测滚动,但在这种情况下也不会触发 MappingChanged 事件。
谢谢,
【问题讨论】:
标签: c# visual-studio-2013 visual-studio-extensions visual-studio-sdk