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

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

是否有任何像richtext这样的富文本框,但有更好的表现?

还有其他方法可以实现这个目标吗?

有帮助吗?

解决方案

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

其他提示

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

如何生成Flowdocument - 根据您正在做的事情,您可以加快速度。但是,我也遇到了这些问题,特别是因为你在UI线程上生成FlowDocument,如果花了太长时间你最终会出现黑屏。

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

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

据我所知,这两种控件都非常高效,并且比仅仅富文本框更好。 / p>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top