WPF Richtextbox调整性能

时间:2013-11-10 13:15:28

标签: c# wpf resize richtextbox flowdocument

我有一个包含这样的flowdocument的richtextbox:

var mcFlowDoc = new FlowDocument();
var para = new Paragraph();
para.Inlines.Add(textBlock1);
para.Inlines.Add(textBlock2);
para.Inlines.Add(textBlock3);
mcFlowDoc.Blocks.Add(para);
richTextBox1.Document = mcFlowDoc;

当我调整窗口大小时,渲染会有一个小延迟,特别是当文本块的数量较大(30+)并且总是有一些闪烁时。

有没有办法让调整大小更快更顺畅?

1 个答案:

答案 0 :(得分:0)

在我们的WPF代码中,当我们开始密切使用RichTextBox时,我们遇到了问题。没有特别渲染问题,大多是过多的内存使用。

我采用的解决方案也可以帮助您:我们在没有RichTextBox的情况下呈现文档。您可以将RichTextBox的上下文转换为只读WPF TextBlock

当用户选择控件时,我们将TextBlock替换为具有相同内容的RichTextBox

我们在自定义控件中包含了上述行为。还需要进行一些调整以使TextBlock呈现与RichTextBox相同(主要是边距/填充)。