如何使标签文字下划线?

时间:2014-03-24 12:26:36

标签: wpf xaml label underline

如何在WPF中制作Label文字Underline?我被困了,找不到下划线的任何财产:

<Label Name="lblUserName"
       Content="Username"
       FontSize="14" FontWeight="Medium" />

3 个答案:

答案 0 :(得分:40)

LabelTextDecorations中,请尝试以下操作:

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

<强> Edit: more universal solution

在这种情况下,使用Label.Content代替Label.Tag,因为Content属性只能设置一次:

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

答案 1 :(得分:3)

以下是样式的答案。

内容:

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

风格:

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

答案 2 :(得分:0)

这是将样式直接应用于标签的一种方法:

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

这简化了标签项:

<Label>
    Label 1
</Label>

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

仅当标签的内容为文本时,此方法有效。