[在此之前,我已经看到一些方法来做到这一点。我将剪贴板图像复制到RichTextBox,但是我想更改插入图像的大小,这是行不通的。
var bmpSource = Clipboard.GetImage() as InteropBitmap;
if (bmpSource != null)
{
RichTextBox.Paste();
}
实际上,我希望能够插入这样的图像。
Paragraph para = new Paragraph();
BitmapImage bitmap = new BitmapImage(new Uri(@"D:\S.JPG"));
Image image = new Image();
image.Source = bitmap;
image.Width = 120;
image.Height = 90;
para.Inlines.Add(new InlineUIContainer(image, EditMessageRTB.Selection.Start));
EditMessageRTB.Document.Blocks.Add(para);
但是WPF的RichTextBox不支持这种方式。在文字之后插入图片。它看起来像这样...
“”文本,“ [图像]
并且我想插入这样的图像...“文本,” [图像]“文本”
有人知道怎么做吗?
您可以通过在要添加图像的RichTextBox中添加堆栈面板来实现。然后,您可以根据需要更改图像的样式,例如:
<Window.Resources>
<BitmapImage x:Key="bitmap" UriSource="D:\S.JPG"/>
</Window.Resources>
<RichTextBox>
<FlowDocument>
<Paragraph>
<Run Text="RichTextBox"/>
<StackPanel>
<Image Source="{StaticResource ResourceKey=Screen}" Width="120" Height="80"/>
</StackPanel>
<Run Text="RichTextBox"/>
</Paragraph>
</FlowDocument>
</RichTextBox>