wake-up-neo.com

WPF TextBlock Unterstreichen

Ich habe eine textblock von width sagen 500, aber meine Zeichenfolge ist nur "H", aber ich möchte underline die gesamte textblock Breite nicht nur unter H was kann ich tun?

49
user679530

Sie sollten die Eigenschaft "TextDecorations" des TextBlocks verwenden. So wie das:

 <TextBlock Text="H" TextDecorations="Underline"/>
184
Talia H

Nur um meine 2 Cent zu addieren, der gleiche Effekt wie bei Talia kann zur Laufzeit durch diesen Code erzielt werden:

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

Aus irgendeinem Grund zeigt VS2010 Intellisense für das RHS nicht an, es wird jedoch korrekt kompiliert und ausgeführt.

20
dotNET
        <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>
6
Ilker Baltaci

Am besten verwenden Sie ein Rechteck, das sich direkt unter dem Textblock befindet und dessen Breite immer der Breite des Textblocks entspricht. So was:

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