【问题标题】:How to add a block to richtextbox如何将块添加到richtextbox
【发布时间】:2012-02-10 08:11:20
【问题描述】:

如何向richtextbox.document.blocks 集合添加新块? 在不同的线程中,检查查找关于富文本框中有多少字符的位置。

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

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

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

在 UI 线程之外的其他线程中尝试此代码,在运行时给我一个调用异常。因为 'p' 为空。

我想念什么?

【问题讨论】:

    标签: c# wpf richtextbox block


    【解决方案1】:

    您显示的代码不会创建任何块,它只是获取第一个通常默认存在的块,因此如果您清除所有块,您首先需要使用以下内容添加一个新块:

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

    您可以只使用if 来检查块的数量,如果有多个,则使用原始代码获取第一个,如果没有创建并添加它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多