使用WPF在富文本框中存储大量文本时是否存在渲染问题?

时间:2014-03-25 13:07:29

标签: c# wpf richtextbox

下午全部;

所以,我一直在使用C#和WPF开发一个应用程序。我使用富文本框显示相当数量的静态文本,比如大约1000行(行数在10到30个单词之间)

我通过将文本保存在文本文件中来插入文本。然后读取该文本文件并将其保存到字符串变量中。然后将该字符串变量放入FlowDoc中,如下所示:

public void fillTimeline(RichTextBox timeline)
{
    FlowDocument myFlowDoc = new FlowDocument();

    string x = System.IO.File.ReadAllText(@"path");

    myFlowDoc.Blocks.Add(new Paragraph(new Run(x)));

    timeline.Document = myFlowDoc;
} 

一旦我构建并运行了应用程序,我发现文本非常模糊,几乎不可读。 Like this

但是,如果我将行减少到大约500,则不会出现此问题。在RichTextBox中显示那么多文本是否有问题?

我已尝试过一些方法来解决问题

  1. 将FormattingMode设置为所有可用选项。
  2. 启用ClearType
  3. 尝试所有3个TextRenderingModes
  4. 这是一个已知问题吗?有什么我可以尝试的吗?我现在没有想法了。

    感谢。

1 个答案:

答案 0 :(得分:2)

尝试一次读取一行文字

List<String> Lines = new List<String>();
System.IO.StreamReader file = 
   new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
   myFlowDoc.Blocks.Add(new Paragraph(new Run(x)));
   Lines.Add(line);
}

file.Close();

尝试使用FlowDocumentScrollViewer而不是RichTextBox

尝试使用带有TextBlock的ListBox的行 通过虚拟化,它可以很好地执行