1

我需要创建一个可以打开大约 10 mb 日志文件并突出显示某些表达式的应用程序。

我认为使用 WPF 和richtextbox 会起作用,但是richtextbox 的渲染时间是不可接受的。

有没有像突出显示一样具有丰富文本框但性能更好的东西?

还有其他方法可以做到这一点吗?

4

4 回答 4

1

Scintilla http://www.scintilla.org/用作编辑代码的框。它为许多不同的代码语法提供高亮显示。您可以使用它并指定您需要突出显示的部分。

于 2009-06-16T19:31:12.307 回答
1

如果您不需要允许用户编辑日志,您可以使用 TextBlock 并将要突出显示的部分包装在<Style>完成突出显示的标签中。

于 2009-06-16T19:34:56.653 回答
0

你是如何生成你的 Flowdocument 的——取决于你在做什么,你可以加快它的速度。但是,我也遇到了这些问题,特别是因为您必须在 UI 线程上生成 FlowDocument,如果花费的时间太长,您最终会出现黑屏。

于 2009-06-17T15:11:47.833 回答
0

如果我明白你在说什么,你想要一个突出显示 RTB 控件的语法。我个人最喜欢的是 AvalonEdit 控件,(这里有一篇关于 codeproject 的文章:http: //www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor)它可以像 Visial 中的编辑器一样语法高亮工作室。它甚至具有自动完成功能,您的最终用户会喜欢的。

如果你想要别的东西,还有 ICSharp 代码编辑器。(这是关于 codeproject 的另一篇文章:http: //www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor)这一篇几乎与 AvalonEdit 具有相同的功能,我也喜欢这个。我实际上在我制作的应用程序中使用了 ICSharp 代码编辑器,并且对这些功能非常满意。

据我所知,这两个控件都非常有效,并且比一个富文本框更好。

于 2014-01-01T20:56:53.720 回答