当读写时,WPF Richtextbox搜索速度要慢得多

时间:2014-06-29 17:03:35

标签: wpf richtextbox

我已经为WPF Richtextbox实现了一个Find命令。我有两个Richtextboxes实例。第一个是可写的。第二个不是。在只读的richtextbox中,
IsDocumentEnabled = true且IsReadOnly = true。

两个richtextbox都有相同的文字,大约1000个字符。

在第一个richtextbox中搜索字符串需要18秒。在readonly中,使用完全相同的文本和完全相同的代码,搜索需要4秒。认为它可能是被添加到Undo堆栈中的项目,我在第一个中禁用了Undo以查看它是否会提高性能但是它没有。

有没有人有建议或想法为什么读写richtextbox和readonly richtextbox之间的性能有如此大的差异?

1 个答案:

答案 0 :(得分:0)

您报告的结果非常符合逻辑:由于重大的程序开销,ReadOnly=true RichTextBox上的搜索(查找)操作预计会比可写(ReadOnly=false)控制快得多添加到可写控件。除了“撤销”功能外,它还可能需要处理并发管理,更改事件处理等问题。关于性能改进:将ReadOnly=true设置为默认值,并“解锁”RichTextBox控件(设置ReadOnly = false,或类似:rtf.ReadOnly= (bool)chkBoxLock.IsChecked)仅在需要时。 RGDS,