可能重复:
FlowDocument中的波浪下划线
我有一个表单,我需要能够以编程方式添加红色波浪线错误下划线以在流文档中运行,但实际上不知道从哪里开始.有人能指出我正确的方向吗?
我想使用TextDecoration 创建波浪下划线(在类似于RichTextBox的控件中).
我做了以下事情:
private static Pen CreateErrorPen() {
var geometry = new StreamGeometry();
using (var context = geometry.Open()) {
context.BeginFigure(new Point(0.0, 0.0), false, false);
context.PolyLineTo(new[] {
new Point(0.75, 0.75),
new Point(1.5, 0.0),
new Point(2.25, 0.75),
new Point(3.0, 0.0)
}, true, true);
}
var brushPattern = new GeometryDrawing {
Pen = new Pen(Brushes.Red, 0.2),
Geometry = geometry
};
var brush = new DrawingBrush(brushPattern) {
TileMode = TileMode.Tile,
Viewport = new Rect(0.0, 1.5, 9.0, 3.0),
ViewportUnits = BrushMappingMode.Absolute
};
var …Run Code Online (Sandbox Code Playgroud) 我正在研究WPF,我在RichTextBox中显示了RichText数据,因为它采用了WindowsFormHost,我正在使用WinForm RichTextBox来显示具有Images + Text的RichTextData.
但是,当显示RichTextData图像与Top对齐并且文本与Bottom对齐时,请参见下图,红色圆圈为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>
Run Code Online (Sandbox Code Playgroud)
我也使用过WPF RichTextBox,但在那里我也无法在中心对齐文本+图像
<RichTextBox VerticalContentAlignment="Stretch" Height="158" HorizontalAlignment="Left" Margin="10,247,0,0" Name="richTextBox1" VerticalAlignment="Top" Width="754" />
Run Code Online (Sandbox Code Playgroud)