我找到了一个在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中?
答案 0 :(得分:2)
我在.NET 1.1中编写了类似的语法高亮显示器,性能非常糟糕。多年来我没有重新审视这个问题,但在我看来,必须有一个更好的方法。
我相信答案可能在于RTF documentation。您可以定义颜色表和/或样式,然后使用它们来包装匹配的单词。查看“字体(字符)格式属性”,cf N 和cs N 。然后诀窍是找到匹配并尽快插入控制字符。我是RegEx将是最快的扫描方法。
您还可以尝试将突出显示限制在可见空间周围的合理区域,甚至可以考虑将突出显示操作强制转移到另一个进程。
我肯定有兴趣为这个问题找到一个好的解决方案。