WPF, как вставить изображение в RichTextBox - PullRequest
0 голосов
/ 18 октября 2019

До этого я видел несколько способов сделать это. Я копирую изображение буфера обмена в 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);

Но RichTextBox из WPF не поддерживает этот способ. Вставка изображения после text.it выглядит следующим образом ...

"текст, текст" [image]

и я хочу вставить изображение, похожее на это ... "text," [image] "текст"

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 18 октября 2019

Это можно сделать, добавив панель стека в поле 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>
...