c#WPF中的语法高亮显示

时间:2009-05-13 16:38:43

标签: c# wpf

我找到了一个在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中?

1 个答案:

答案 0 :(得分:2)

我在.NET 1.1中编写了类似的语法高亮显示器,性能非常糟糕。多年来我没有重新审视这个问题,但在我看来,必须有一个更好的方法。

我相信答案可能在于RTF documentation。您可以定义颜色表和/或样式,然后使用它们来包装匹配的单词。查看“字体(字符)格式属性”,cf N 和cs N 。然后诀窍是找到匹配并尽快插入控制字符。我是RegEx将是最快的扫描方法。

您还可以尝试将突出显示限制在可见空间周围的合理区域,甚至可以考虑将突出显示操作强制转移到另一个进程。

我肯定有兴趣为这个问题找到一个好的解决方案。