web-dev-qa-db-ja.com

下線、スタイルの取り消し線などのテキスト装飾の宣言

スタイル定義に下線、取り消し線などのテキスト装飾を含めるにはどうすればよいですか?

<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コントロールに適用していました。これが私の主な問題でした。ラベル内のテキストに下線を引くことができないようです。 TextBlockに変更し(gixに感謝)、すべて順調です。

38
Ash

テキストに下線を付けるには、<Underline>...</Underline>またはTextDecorations属性がUnderlineに設定されています。後者をスタイル定義に含めることができます。

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

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