如何在RichTextBox中垂直设置内嵌图像
我正在WPF上工作,我在RichTextBox中显示RichTextBox中的数据,这些数据已采用WindowsFormHost,里面我正在使用WinForm RichTextBox来显示RichTextData,其中包含图像+文本。
但是,虽然显示RichTextData图像与顶部对齐并且文本与底部对齐,请参阅下面的图像,红色圆圈是RichTextImage
我想在中心显示图像和文字。 像下图一样,红圈是以文本为中心的RichTextImage。
我的XAML代码是:
<Window x:Class="WPFRichTextBox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="600" Width="800" Background="LightBlue" xmlns:my="clr-namespace:WPFRichTextBox">
<Grid Loaded="Grid_Loaded">
<WindowsFormsHost Margin="0,424,0,22">
<wf:RichTextBox Text="RichTextBox" x:Name="richTbTest1" BorderStyle="None" Enabled="True" ForeColor="Black" Width="550" Multiline="True" />
</WindowsFormsHost>
</Grid>
</Window>
我也使用了WPF RichTextBox,但是在这方面我也无法将文本+图像与中心对齐
<RichTextBox VerticalContentAlignment="Stretch" Height="158" HorizontalAlignment="Left" Margin="10,247,0,0" Name="richTextBox1" VerticalAlignment="Top" Width="754" />
您可以在Run
使用BaselineAlignment
来对齐文本。 这里是一个例子:
<RichTextBox>
<FlowDocument>
<Paragraph>
<Run Text="Some text" BaselineAlignment="Center"/>
<Image Height="100" Width="100" Source="ImagesDesert.jpg"/>
<Run Text="Some more text" BaselineAlignment="Center"/>
</Paragraph>
<Paragraph/>
<Paragraph>
<Run Text="Paragraph 2" BaselineAlignment="Center"/>
<Image Height="100" Width="100" Source="ImagesDesert.jpg"/>
<Run Text="More text" BaselineAlignment="Center"/>
</Paragraph>
</FlowDocument>
</RichTextBox>
编辑:
要将格式应用于整个RichTextBox
,请在RichTextBox
填充后尝试调用此方法:
public void CenterText()
{
var text = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
text.ApplyPropertyValue(Inline.BaselineAlignmentProperty, BaselineAlignment.Center);
}
链接地址: http://www.djcxy.com/p/61127.html
上一篇: How to Set inline Images Vertically Center in RichTextBox
下一篇: WPF RichTextBox seamless TextBoxes as InlineUIContainers