c# - WPF TextBlock Underline
visual-studio windows-phone (4)
Debe usar la propiedad "TextDecorations" del TextBlock. Como eso:
<TextBlock Text="H" TextDecorations="Underline"/>
Tengo un textblock
de textblock
de width
digamos 500
, pero mi cadena es solo "H", pero quiero underline
todo el ancho del textblock
no solo debajo de H, ¿qué puedo hacer?
Probablemente, lo mejor sería utilizar un rectángulo situado inmediatamente debajo del bloque de texto, cuyo ancho es siempre el ancho del bloque de texto. Me gusta esto:
<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>
Solo para agregar mis 2 centavos, el mismo efecto que la respuesta de Talia se puede lograr en el tiempo de ejecución a través de este código:
YourTextBlock.TextDecorations = System.Windows.TextDecorations.Underline;
Por alguna razón, VS2010 no muestra Intellisense para RHS, pero compila y funciona correctamente.
<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>