繁体   English   中英

WPF RichTextBox RTF更新文本?

[英]WPF RichTextBox RTF update text?

我有一个WPF RichTextBox ,其格式设置为Rtf 我有一种动态添加超链接的方法。

但是,当通过添加所述超链接来编辑RichTextBox文本时, Rtf输出是不正确的,因为超链接被附加到了已经完整的Rtf文档的末尾。

我设法将RichTextBox Rtf文本格式化为Text ,这解决了RichTextBox的文本显示问题,但是显然我的超链接丢失了为纯文本。

有什么方法可以获取Rtf RichTextBox文本并将其“重新加载”到新的Flow Document以便获得正确的Rtf输出?

我在传递Rtf字符串( RichTextBox.Text )的地方有这种方法,它为我提供了正确的Rtf但是我在RichTextBox文本中又获得了所有Rtf标签...

  public void RebuildRtfForRichTextBox(string richTextBoxText)
    {
        FlowDocument doc = new FlowDocument(new Paragraph(new Run(richTextBoxText)));

        richTextBoxArticleBody.Document = doc;
    }

如前所述,RichTextBox具有一个名为“ Document”的属性。 获取此属性将返回FlowDocument。 如果阅读此内容 ,则可以看到FlowDocuments由块组成。 实际上,您可以使用“块”属性在流文档的块上进行迭代。

运用

 flowDoc.Blocks.InsertBefore(flowDoc.Blocks.FirstBlock, p);

您将能够在另一个之前插入一个块。 请访问此处以了解如何添加段落或其他类型的块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM