如何将新块添加到richtextbox.document.blocks集合?在另一个线程中,检查找到richtextbox中有多少个字符的位置。
如果字符数超过25000个,我将使用richtextbox.document.blocks.clear()清除richtextbox
但这删除了我在UI-Thread中创建的初始块:
Paragraph p = this.richtextbox.Document.Blocks.FirstBlock as Paragraph;
p.Margin = new Thickness(0);在UI-Thread之外的其他线程中尝试此代码时,会在运行时出现调用异常。因为'p‘是null。
伙计们,我错过了什么?
发布于 2012-01-14 22:13:19
您展示的代码没有创建任何块,它只获取第一个块,默认情况下,第一个块通常在那里,所以如果您清除了所有块,您首先需要使用以下内容添加一个新块:
var p = new Paragraph();
richtextbox.Document.Blocks.Add(p);
p.Margin = ...;你可以只有一个if来检查块的数量,如果有多个,就用你的原始代码获取第一个,如果没有创建并添加它。
https://stackoverflow.com/questions/8862171
复制相似问题