如何使标签文本下划线?
Posted
技术标签:
【中文标题】如何使标签文本下划线?【英文标题】:How to make Label Text Underline? 【发布时间】:2014-05-01 19:20:47 【问题描述】:如何在 WPF 中创建 Label
文本 Underline
?我被卡住了,找不到下划线的任何属性:
<Label Name="lblUserName"
Content="Username"
FontSize="14" FontWeight="Medium" />
【问题讨论】:
【参考方案1】:在Label
没有TextDecorations
,因此试试这个:
<Label Width="100" Height="30">
<TextBlock TextDecorations="Underline">TestText</TextBlock>
</Label>
Edit: more universal solution
在这种情况下,不要使用Label.Tag
,而不是Label.Content
,因为 Content 属性只能设置一次:
<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>
【讨论】:
【参考方案2】:这是一个关于样式的答案。
内容:
<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】:这是一种将样式直接应用于标签的方法:
<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>
如果标签的内容仅为文本,则此方法有效。
【讨论】:
以上是关于如何使标签文本下划线?的主要内容,如果未能解决你的问题,请参考以下文章
如何使标签文本中的链接可用于语音(可访问性)? (iOS,Xamarin)
HTMLHTML 标签 ③ ( 文本格式化标签 | 加粗 | 斜体 | 下划线 | 删除线 | 标签属性 | 图像标签 | 图像标签属性 )