将FlowDocument插入光标位置的另一个FlowDocument

时间:2013-01-09 12:12:44

标签: c# wpf richtextbox flowdocument

我想在doc2的当前光标位置将另一个FlowDocument(doc2)插入一个FlowDocument(doc1)。

我知道我可以通过文档所在的RichTextBox的CaretPosition获取Cursor位置,并且我可以在技术上添加块之后或之前的另一个块,但我无法使用Blocks属性将其添加到指定的光标位置单独(并且它是添加方法)。

我可以在指定的TextPointers中添加至少大部分子类的Inline元素,这可能是我想要的,但是我无法将块添加到另一个块的Inlines中。迭代块是不可能的,基类“块”不包含任何内联存储属性。试图将Block转换为每个可能的特定块类型似乎都不是一个好主意。

那么,有没有简单而干净的方法在doc2的Cursor位置插入doc1的整个内容?

1 个答案:

答案 0 :(得分:0)

好的,我明显找到了解决方案。也适用于FlowDocuments,但我需要RTF。

byte[] byteArray = Encoding.Default.GetBytes(rtfString);
MemoryStream stream = new MemoryStream(byteArray);
this.selectedRichTextBox.Selection.Load(stream, DataFormats.Rtf);
stream.Close();