我想只是添加一个简单的解决方案......
Avalon
(Download)已经提到过,这里是如何用它来做行线:
<avalon:TextEditor ShowLineNumbers="True" Width="500" Height="500"
Text="some more test some more test some more test some more test some more test some more test some more test some more test some more test ">
</avalon:TextEditor>
它是一个非常强大的编辑器 - 我已经用它和生产环境做了很多工作(自定义语言编译器等)。它是免费的,因此有其“怪癖”,但它允许您做几乎任何您需要的事情。我不确定你在谈论哪种格式化文本 - 但你需要的任何事情都可以完成,并且不需要太多代码行,如果你知道如何、在哪里注入(你可以添加自己的生成器、变压器等)任何视觉效果、代码完成等 - 我对此没有既得利益:)
Edit
语法突出显示的小示例:
<avalon:TextEditor
ShowLineNumbers="True"
SyntaxHighlighting="C#" Width="500" Height="500"
Text="void Test(int id, string name) { 	name = name + id.ToString();}" />
支持的是"XmlDoc", "C#", "JavaScript", "HTML", "ASP/XHTML", "Boo", "Coco", "CSS", "C+", "Java", "Patch", "PHP", "TeX", "VBNET", "XML"
据我从代码中可以看出。
如果您想实现自己的定制syntax highlighting
(Avalon 编辑器具有高度可扩展性 - 详细信息请参见代码项目文章提到)...
你需要定义你自己的IHighlightingDefinition
,然后将其注册到HighlightingManager
从代码中 - 然后添加更多东西来补充。但这本身就是一个很长的故事。