如何向richtextbox添加块

本文关键字:添加 richtextbox | 更新日期: 2023-09-27 18:20:22

如何向richtextbox.document.blocks集合添加新块?在另一个线程中,检查richtextbox中的字符数。

如果数量超过25000个字符,我会使用richtextbox.document.blocks.clear() 清除richtextbox

但这删除了我在UI线程中创建的初始块:

Paragraph p = this.richtextbox.Document.Blocks.FirstBlock as Paragraph;
p.Margin = new Thickness(0);

在UI线程之外的其他线程中尝试此代码,会在运行时出现调用异常。因为"p"为null。

我在想什么?

如何向richtextbox添加块

您展示的代码没有创建任何块,它只得到第一个块,通常默认情况下会出现在那里,所以如果您清除所有块,您首先需要使用以下方法添加一个新块:

var p = new Paragraph();
richtextbox.Document.Blocks.Add(p);
p.Margin = ...;

你可以有一个if,它检查块的数量,如果有多个块,如果没有创建和添加原始代码,就获得第一个块。