我需要创建一个应用程序,它将打开大约10 MB的日志文件并突出显示某些表达式。
我认为使用WPF和richtextbox会起作用,但richtextbox的渲染时间是不可接受的。
是否有任何像richtext这样的富文本框,但有更好的表现?
还有其他方法可以实现这个目标吗?
答案 0 :(得分:1)
Scintilla http://www.scintilla.org/用作编辑代码的框。它为许多不同的代码语法提供突出显示。您可以使用它并指定需要突出显示的部分。
答案 1 :(得分:1)
如果您不需要允许用户编辑日志,您可以使用TextBlock并将要突出显示的部分包装在<Style>
标记中以完成突出显示。
答案 2 :(得分:0)
如何生成Flowdocument - 根据您正在做的事情,您可以加快速度。但是,我也遇到了这些问题,特别是因为你有在UI线程上生成FlowDocument,如果花了太长时间你最终会出现黑屏。
答案 3 :(得分:0)
如果我理解你在说什么,你需要一个突出显示RTB控制的语法。我个人最喜欢的是AvalonEdit控件,(这是关于codeproject的文章:http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor),它可以像Visial Studio中的编辑器一样突出显示语法。它甚至还有自动完成功能,您的最终用户会喜欢它。
如果您需要其他内容,还有ICSharp代码编辑器。 (这是关于codeproject的另一篇文章:http://www.codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor)这个与AvalonEdit具有相同的功能,我也喜欢这个。我实际上在我制作的应用程序中使用了ICSharp Code编辑器,并对这些功能非常满意。
据我所知,这两种控件都非常高效,并且比仅富文本框更好