How to make Label Text Underline? How to make Label Text Underline? wpf wpf

How to make Label Text Underline?


In Label no TextDecorations, therefore try this:

<Label Width="100" Height="30">    <TextBlock TextDecorations="Underline">TestText</TextBlock></Label>

Edit: more universal solution

In this case, instead of Label.Content using Label.Tag, because Content property can be set only once:

<Label Tag="TestContent"        Width="100"        Height="30"       HorizontalContentAlignment="Center"       Background="AliceBlue">    <TextBlock TextDecorations="Underline"                Text="{Binding Path=Tag,                               RelativeSource={RelativeSource Mode=FindAncestor,                                                             AncestorType={x:Type Label}}}" /></Label>


Here's an answer with styles.

Content:

<Label>    <TextBlock Style="{DynamicResource StyleName}">text content</TextBlock></Label>

And the style:

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


Here's a way to apply the style directly to the Label:

<Style TargetType="Label">    <Setter Property="ContentTemplate">        <Setter.Value>            <DataTemplate>                <TextBlock Text="{Binding}" TextDecorations="Underline"/>            </DataTemplate>        </Setter.Value>    </Setter></Style>

This simplifies the label items:

<Label>    Label 1</Label><Label Grid.Row="1">    Label 2</Label>

This works if the content of the labels text only.