在样式中声明文本装饰,例如下划线,删除线

时间:2009-02-16 04:59:26

标签: wpf xaml text styles

如何在样式定义中包含文本修饰,如下划线,删除线等:

<Style x:Key="UnderlinedLabel">
     <Setter Property="Control.FontFamily" Value="Trebuchet MS" />
     <Setter Property="Control.FontSize" Value="14" />
     <!-- Next line fails -->
     <Setter Property="Control.TextDecorations" Value="Underline" />
</Style>

我熟悉使用以下XAML为文本加下划线:

<TextBlock>
   <Underline>
       Underlined text
   </Underline>
</TextBlock>

然而,文本修饰只是另一种风格,我希望能够像FontWeight,FontSize等一样明确地定义它。

[更新]

我将此样式应用于Label控件。这是我的主要问题。您似乎无法在Label中为文本加下划线。更改为TextBlock(感谢gix),一切都很好。

1 个答案:

答案 0 :(得分:57)

可以使用<Underline>...</Underline>或将TextDecorations属性设置为Underline来完成下划线文字。您可以在样式定义中包含后者:

<Style x:Key="Underlined">
    <Setter Property="TextBlock.TextDecorations" Value="Underline" />
</Style>

<TextBlock Style="{StaticResource Underlined}">
    Foo
</TextBlock>