我找到了一个在 RichEdits for WPF 中进行语法高亮显示的教程:
http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx
但是如果我从文件中打开我的命令列表,Editbox 会变得非常非常慢......可能有太多的单词需要突出显示。
我读到像 RichEdit 这样的 WPF 元素比 WinForms 元素慢得多。
如何使我的 WPF RichEdit 更快或将 Winforms RichEdit 包含到我的 WPF 中?
最佳答案
我在 .NET 1.1 中写了一个类似的语法荧光笔,性能很糟糕。我已经很多年没有重新讨论这个问题了,但在我看来一定有更好的方法。
我相信答案可能就在 RTF documentation 中。 .您可以定义颜色表和/或样式,然后使用它们来包装匹配的词。查看第 130 页“字体(字符)格式化属性”,cfN 和 csN。诀窍是尽快找到匹配项并插入控制字符。我是 RegEx 将是最快的扫描方法。
您也可以尝试将突出显示限制在可见空间周围的合理区域,甚至考虑将突出显示操作线程化到另一个进程。
我肯定有兴趣为这个问题找到一个好的解决方案。
关于c# WPF 中的语法高亮显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859028/