WPF,如何将图像插入RichTextBox中

问题描述 投票:0回答:1

[在此之前,我已经看到一些方法来做到这一点。我将剪贴板图像复制到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不支持这种方式。在文字之后插入图片。它看起来像这样...

“”文本,“ [图像]

并且我想插入这样的图像...“文本,” [图像]“文本”

有人知道怎么做吗?

c# .net wpf richtextbox flowdocument
1个回答
0
投票

您可以通过在要添加图像的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>
© www.soinside.com 2019 - 2024. All rights reserved.