【发布时间】:2014-03-14 20:35:20
【问题描述】:
我正在使用 AvalonEdit 为补丁文件创建一个视图,我想让它在整行中突出显示差异,而不仅仅是文本背景 - 类似于 GitHub for Windows 今天所做的:
我是 AvalonEdit 的新手,所以我不确定最好的方法。以下是我目前发现的:
重写
VisualLineElementGenerator以创建一个附加的 TextSpan,它是控件的长度。这似乎很棘手。创建一个新控件以在后台添加到
TextView.Layers,并手动添加到绿色/红色的 OnRender - 这似乎更有希望,但还不清楚我需要挂钩什么事件才能检测何时重新渲染。覆盖 TextView - 这似乎有点过头了。
编辑:这是一个简单的语法荧光笔会发生什么,这是我不想要的:
【问题讨论】:
-
子类化线路变压器之一可能会满足您的需求。 ColorizingTransformer 应该允许您更改所选列的背景颜色。有关更多信息,请参阅 Daniel Grunwald 的博客:danielgrunwald.de/coding/AvalonEdit/rendering.php
标签: c# wpf avalonedit