繁体   English   中英

在RichTextBox WPF中添加图像

[英]Adding an image inside a RichTextBox WPF

我正在尝试基于ListBox项目的选择在RichTextBox添加静态图像。 我能够实现加载图像的功能,但是图像不会占用RichTextBox的整个大小。 我查看了MSDN文档中可以设置的任何属性,但是找不到适合我需要的属性。

我已经发布了一个示例代码片段,以将图像添加到RichTextBox

<Window x:Class="ImageDepth.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <RichTextBox HorizontalAlignment="Center" Height="100" VerticalAlignment="Center" Width="100" BorderBrush="Gray">
        <FlowDocument>
            <BlockUIContainer>
                <Image Source="C:\Temp\Penguins.jpg"/>
            </BlockUIContainer>                
        </FlowDocument>
    </RichTextBox>
</Grid>

我在这里缺少什么吗?还是有一种更简单的方法来实现这一目标?

编辑:我尝试设置图像到了的高度和宽度RichTextBox ,但它涵盖了约80% RichTextBox 另外,我必须删除Image的Stretch属性,因为即使设置该属性会使图像覆盖大约90%的面积,它也会使图像稍微失真。

您必须将图像的HeightWidth绑定到RichTextBox的ActualHeightActualWidth

<Image Source="C:\Temp\Penguins.jpg"
       Width="{Binding ActualWidth, RelativeSource={RelativeSource
                               Mode=FindAncestor, AncestorType=RichTextBox}}"
       Height="{Binding ActualHeight, RelativeSource={RelativeSource
                             Mode=FindAncestor, AncestorType=RichTextBox}}"/>

UPDATE

似乎RichTextBox的内部填充。 您可以将其设置为负值以删除该填充。

<RichTexBox Padding="-5,-2,-5,-2"> // It reads Left, Top, Right, Bottom
   ....
</RichTexBox>

-5,-2,-5,-2更改为适合您的期望值。

尝试这个:

<Window x:Class="ImageDepth.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <RichTextBox HorizontalAlignment="Center" Height="100" VerticalAlignment="Center" Width="100" BorderBrush="Gray">
        <FlowDocument>
            <BlockUIContainer>
                <Image Height="100" Width="100" Source="C:\Temp\Penguins.jpg" Stretch="Fill"/>
            </BlockUIContainer>                
        </FlowDocument>
    </RichTextBox>
</Grid>

这将告诉您图像填充整个RichTextBox

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM