2010-10-08 43 views
4

有没有办法将下划线文字修饰仅应用于TextBlock中的一个字符(或任何小于完整块的数量)?有没有办法在WPF TextBlock中强调一个字符?

我有一些文字,我想作为输出“这是WORF名称拼写”并在worff下划线。

我知道你可以这样做:

TextBlock47.TextDecorations = TextDecorations.Underline; 

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

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

回答

14

您可以使用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")); 
+0

这工作正常。它似乎有一个问题,不显示下划线,如果它是在一个空格字符下面没有非空格字符,但我已经通过在最后总是有一些文本来修正它:实用主义纯度:-)感谢堆。 – paxdiablo 2010-10-08 04:38:33

+1

+10。这真的很有帮助。 – 2011-03-14 07:47:07

相关问题