有没有办法在WPF TextBlock中为一个字符加下划线?

时间:2010-10-08 03:43:54

标签: c# wpf textblock underline

是否有办法仅在TextBlock(或任何小于整个块的数量)中对一个字符应用下划线文本修饰?

我有一些文字,我希望输出为“这个worf是拼错”f加上worf加下划线。

我知道你可以这样做:

TextBlock47.TextDecorations = TextDecorations.Underline;

但我不希望整个块加下划线。

如果失败了,是否有其他控件可以使用除TextBlock以外的其他控件来提供此功能?我已经研究过富文本,但对于一个简单的效果来说,这似乎是一项非常重要的工作。如果 是唯一的方法,我该如何在c#代码中生成特定格式的文本(10pt,Courier New,带下划线的一个字符)?

2 个答案:

答案 0 :(得分:16)

您可以在Underline中使用TextBlock

<TextBlock Name="textBlock47">
  this wor<Underline>f</Underline> is misspelt
</TextBlock>

textBlock47.Inlines.Add(new Run("this wor"));
textBlock47.Inlines.Add(new Underline(new Run("f")));
textBlock47.Inlines.Add(new Run(" is misspelt"));

答案 1 :(得分:1)