web-dev-qa-db-fra.com

Déclaration de décorations de texte telles que soulignement, barré dans un style

Comment inclure des décorations de texte telles que souligné, barré, etc. dans une définition de style:

<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>

Je suis familier avec l'utilisation du XAML suivant pour souligner le texte:

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

Cependant la décoration du texte n'est qu'un autre style, je veux pouvoir le définir de manière déclarative comme FontWeight, FontSize etc.

[Mettre à jour]

J'appliquais ce style à un contrôle Label. C'était mon principal problème. Il semble que vous ne puissiez pas souligner le texte d'une étiquette. Passez à un TextBlock (merci gix) et tout va bien.

39
Ash

Le texte de soulignement peut être fait soit avec <Underline>...</Underline> ou avec l'attribut TextDecorations défini sur Underline. Vous pouvez inclure ce dernier dans une définition de style:

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

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