2009-02-16 22 views
37

¿Cómo incluyen decoraciones de texto como el subrayado, tachado, etc en una definición Estilo:Declaración de decoraciones de texto como el subrayado, tachado en un estilo

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

estoy familiarizado con el uso de la siguiente XAML para subrayar el texto :

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

Sin embargo la decoración de texto es sólo otro estilo, quiero ser capaz de definirlo como declaritively FontWeight, etc. Tamaño de Letra

[actualización ]

Estaba aplicando este estilo a un control de etiqueta. Este fue mi principal problema. Parece que no puede subrayar el texto en una etiqueta. Cambiar a un TextBlock (gracias gix) y todo está bien.

Respuesta

54

El texto subrayado se puede hacer con <Underline>...</Underline> o con el atributo TextDecorations establecido en Underline. Puede incluir este último en una definición de estilo:

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

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

+1 - Creo que es sólo el hecho de que está utilizando @Ash "Control.TextDecorations" en lugar de "TextBlock.TextDecorations". –

+0

@Matt, a la derecha, también estaba aplicando ese estilo a un control de etiqueta, no se mostró ningún subrayado. Cuando cambié a un TextBlock, ¿se muestra? – Ash

+1

Hola cómo aplicar StrikeThrough al texto de un bloque de texto ??? ¿Hay alguna propiedad para eso en Silverlight 4.0? – Radhi

Cuestiones relacionadas