将图像插入InLines段落列表

时间:2012-04-19 17:05:49

标签: c# wpf image flowdocument paragraph

我需要在一段文字中包含一个图像。但是,我需要在添加文本后插入图像。 我知道我可以这样做:

Paragraph firstParagraph = new Paragraph();
firstParagraph.Inlines.Add(new System.Windows.Controls.Image());
firstParagraph.Inlines.Add(new Run("Some text"));

工作正常。

但是,如果我似乎无法做到这一点:

Paragraph secondParagraph = new Paragraph();
secondParagraph.Inlines.Add(new Run("Some text"));
secondParagraph.Inlines.InsertBefore(secondParagraph.Inlines.FirstInline, new Image());

(显然上面是一个人为的例子,在我的实际例子中,我得到一个很长的段落列表,我无法控制它。我需要在它们的前面插入一个图像。)

1 个答案:

答案 0 :(得分:0)

首先,您需要知道插入的位置。 你需要一个TextPointer。

鉴于您正在使用RichTextBox并且想要在光标位置插入,请尝试:

RichTextBox.Name = "rtb";

您的System.Windows.Controls.Image名称:img

TextPointer insertHere = rtb.CaretPosition.GetInsertionPosition(LogicalDirection.Forward);
new InlineUIContainer(img, insertHere);