66

私はtextblock言うwidth500ですが、私の文字列は「H」とだけ言っていますが、 H のすぐ下ではなくunderline全体のtextblock幅にしたいのですが、どうすればよいですか?

4

4 に答える 4

214

TextBlock のプロパティ「TextDecorations」を使用する必要があります。そのように:

 <TextBlock Text="H" TextDecorations="Underline"/>
于 2012-02-22T07:18:16.960 に答える
24

私の2セントを追加するだけで、タリアの答えと同じ効果が実行時に次のコードで実現できます。

YourTextBlock.TextDecorations = System.Windows.TextDecorations.Underline;

何らかの理由で、VS2010 は RHS の Intellisense を表示しませんが、正しくコンパイルおよび実行されます。

于 2013-09-05T04:18:19.457 に答える
14
        <TextBlock VerticalAlignment="Bottom" 
                   HorizontalAlignment="Center" 
                   Margin="40" 
                   Height="40" 
                   FontSize="16" 
                   Tapped="TextBlock_Tapped"
                   Text="Text"
                   Foreground="{StaticResource LightBlue}">
            <Underline>
                <Run Text="Text"/>
            </Underline>
        </TextBlock>
于 2015-03-23T09:16:11.577 に答える
1

おそらく最善の策は、テキスト ブロックのすぐ下に配置された Rectangle を使用することです。その幅は常にテキスト ブロックの幅です。このような:

<DockPanel LastChildFill="False">
    <TextBlock DockPanel.Dock="Top" x:Name="blockToUnderline" Text="H" Width="76" />
    <Rectangle DockPanel.Dock="Top" Fill="Black" Height=1 Width="{Binding ElementName=blockToUnderline, Path=ActualWidth}" />
</DockPanel>
于 2013-07-02T16:37:38.540 に答える