在标签下划线
Underline a Label
我正尝试按照 here 的说明给标签加下划线,但它不起作用。出现一条错误消息:
Mode must be specified for RelativeSource
但是我已经说明了:
<Label Grid.Row="0" Grid.Column="0" Tag="ID" FontWeight="Bold" Margin="10,5" HorizontalAlignment="Left">
<TextBlock TextDecorations="Underline" Text="{Binding Path=Tag, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Label}}}" />
</Label>
这是怎么回事?
这是 visual studio 的一个烦人的故障。只需重建项目。
代码好像没问题。我在我的 VS 中使用了你的代码,该消息只出现一次,一旦我清理并重建代码,错误就消失了。
只是为了展示如何通过设置标签的 Template
属性 而不是 Tag
属性 解决方法来实际完成此操作:
<Label Content="ID" FontWeight="Bold" Margin="10,5" HorizontalAlignment="Left">
<Label.Template>
<ControlTemplate TargetType="Label">
<TextBlock Margin="{TemplateBinding Padding}"
TextDecorations="Underline"
Text="{Binding Path=Content,
RelativeSource={RelativeSource AncestorType=Label}}"/>
</ControlTemplate>
</Label.Template>
</Label>
我正尝试按照 here 的说明给标签加下划线,但它不起作用。出现一条错误消息:
Mode must be specified for RelativeSource
但是我已经说明了:
<Label Grid.Row="0" Grid.Column="0" Tag="ID" FontWeight="Bold" Margin="10,5" HorizontalAlignment="Left">
<TextBlock TextDecorations="Underline" Text="{Binding Path=Tag, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Label}}}" />
</Label>
这是怎么回事?
这是 visual studio 的一个烦人的故障。只需重建项目。
代码好像没问题。我在我的 VS 中使用了你的代码,该消息只出现一次,一旦我清理并重建代码,错误就消失了。
只是为了展示如何通过设置标签的 Template
属性 而不是 Tag
属性 解决方法来实际完成此操作:
<Label Content="ID" FontWeight="Bold" Margin="10,5" HorizontalAlignment="Left">
<Label.Template>
<ControlTemplate TargetType="Label">
<TextBlock Margin="{TemplateBinding Padding}"
TextDecorations="Underline"
Text="{Binding Path=Content,
RelativeSource={RelativeSource AncestorType=Label}}"/>
</ControlTemplate>
</Label.Template>
</Label>