我找到了一个示例,如何在 Windows 窗体中显示 RichTextBox
中的行号。
http://www.codeproject.com/Articles/38858/Line-Numbers-for-RichText-Control-in-C
有人在 WPF 中举个例子吗?
编辑:
有人在使用 AvalonEdit 吗,因为他想在他的程序中显示 LineNumbers 并且可以帮助我解决我的问题。
最佳答案
我只想添加一个简单的解决方案...
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>
这是一个非常强大的编辑器——我已经在生产环境中(自定义语言编译器等)对它做了很多工作。它是免费的,所以它有它的“怪癖”,但它允许您做几乎任何您需要的事情。我不确定你在谈论哪种格式化文本 - 但你可以做任何你需要的事情,并且代码行不多,如果你知道如何,在哪里注入(inject)(你可以添加自己的生成器,转换器,几乎任何视觉效果、代码完成等 - 我对此没有既得利益:)
编辑
语法高亮的小例子:
<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”、 “补丁”、“PHP”、“TeX”、“VBNET”、“XML”
据我从代码中可以看出。
如果您想实现自己的自定义语法高亮显示
(Avalon 编辑器是高度可扩展的 - 有关详细信息,请参阅 code project article mentioned)...
您需要定义自己的 IHighlightingDefinition
,然后将其注册到代码中的 HighlightingManager
- 然后再添加一些内容进行补充。但这本身就是一个很长的故事。
关于c# - 在 WPF 中显示 RichTextBox 中的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15610940/