1

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

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

我可以在指定的 TextPointers 处添加内联元素,至少它的大部分子类,这将是我想要的,但我不能将块添加到另一个块的内联。不可能对块进行迭代,并且基类“块”不包含任何内联存储属性。尝试将 Block 转换为每个可能的特定 Block Type 似乎根本不是一个好主意。

那么,有没有简单干净的方法将 doc1 的整个内容插入到 doc2 的光标位置?

4

1 回答 1

0

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

byte[] byteArray = Encoding.Default.GetBytes(rtfString);
MemoryStream stream = new MemoryStream(byteArray);
this.selectedRichTextBox.Selection.Load(stream, DataFormats.Rtf);
stream.Close();
于 2013-01-15T08:41:25.847 回答