WPF TextBlock Подчеркивание - PullRequest
       10

WPF TextBlock Подчеркивание

48 голосов
/ 09 апреля 2011

У меня есть textblock из width, скажем 500, но моя строка просто говорит "H", но я хочу underline всю textblock ширину, а не только под H, что я могу сделать?

Ответы [ 4 ]

183 голосов
/ 22 февраля 2012

Вы должны использовать свойство TextDecorations TextBlock.Вот так:

 <TextBlock Text="H" TextDecorations="Underline"/>
20 голосов
/ 05 сентября 2013

Просто добавив мои 2 цента, тот же эффект, что и ответ Талии, может быть достигнут во время выполнения с помощью этого кода:

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

По какой-то причине VS2010 не показывает Intellisense для RHS, но компилируетсяи работает правильно.

6 голосов
/ 23 марта 2015
        <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>
0 голосов
/ 02 июля 2013

Лучше всего было бы использовать прямоугольник, расположенный непосредственно под текстовым блоком, ширина которого всегда равна ширине текстового блока. Как это:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...