【发布时间】:2015-04-22 18:50:07
【问题描述】:
我需要以编程方式向 RichTextBox 控件添加一个新段落(就像按 Enter 键一样)。使用下面的代码,它确实添加了一个新段落,但是:
- 它会删除控件中的所有现有文本
- 插入点保留在第一行,不会移动到新创建的第二行
-
似乎只添加了一次新段落,即如果我第二次运行代码,则不会创建第三段
FlowDocument flowDoc= rtbTextContainer.Document; Paragraph pr = new Paragraph(); flowDoc.Blocks.Add(pr); rtbTextContainer.Document = flowDoc;
我正在测试一些东西 - 我注释掉了第二行和第三行代码,所以我只是阅读了 Document 并立即再次将其设置回 RichTextBox,但这也删除了所有现有文本,所以问题可能有什么关系,但我想不通。
我怎样才能克服这些问题并以编程方式追加一个新段落,然后设置其焦点。
谢谢
【问题讨论】:
-
我无法重现文本删除。我尝试了代码中显示的情况和您最简单的情况——获取和设置
FlowDocument——并且控件中的文本没有被删除。这里还有其他事情没有在问题中显示吗?也许是数据绑定?
标签: c# .net wpf richtextbox