在 WPF 中显示 RichTextBox 中的行号

2023-11-22

我找到了一个例子,如何显示行号RichTextBox在 Windows 窗体中。http://www.codeproject.com/Articles/38858/Line-Numbers-for-RichText-Control-in-C

有人可以举个例子吗WPF?

Edit:

有人使用 AvalonEdit 吗,因为他想在他的程序中显示 LineNumbers 并且可以帮助我解决我的问题。


我想只是添加一个简单的解决方案......

Avalon (Download)已经提到过,这里是如何用它来做行线:

<avalon:TextEditor ShowLineNumbers="True" Width="500" Height="500"
                    Text="some more test&#10; some more test&#10; some more test&#10; some more test&#10; some more test&#10; some more test&#10; some more test&#10; some more test&#10; some more test&#10; ">
</avalon:TextEditor>  

它是一个非常强大的编辑器 - 我已经用它和生产环境做了很多工作(自定义语言编译器等)。它是免费的,因此有其“怪癖”,但它允许您做几乎任何您需要的事情。我不确定你在谈论哪种格式化文本 - 但你需要的任何事情都可以完成,并且不需要太多代码行,如果你知道如何、在哪里注入(你可以添加自己的生成器、变压器等)任何视觉效果、代码完成等 - 我对此没有既得利益:)

Edit

语法突出显示的小示例:

<avalon:TextEditor 
  ShowLineNumbers="True" 
  SyntaxHighlighting="C#" Width="500" Height="500"
  Text="void Test(int id, string name)&#10;{&#10;&#09;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从代码中 - 然后添加更多东西来补充。但这本身就是一个很长的故事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WPF 中显示 RichTextBox 中的行号 的相关文章

随机推荐