web-dev-qa-db-ja.com

ラベルテキストに下線を付ける方法は?

WPFでLabel text Underlineを作成するにはどうすればよいですか?私は行き詰まっており、下線のプロパティを見つけることができませんでした:

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

Label no TextDecorations なので、これを試してください:

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

Edit: more universal solution

この場合、代わりにLabel.Contentを使用してLabel.Tag、Contentプロパティは1回しか設定できないため、

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

これがスタイルの答えです。

コンテンツ:

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

ラベルに直接スタイルを適用する方法は次のとおりです。

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

これは、ラベルのコンテンツがテキストのみの場合に機能します。

0
David Durksen