标记下划线

时间:2017-06-16 09:39:44

标签: wpf xaml visual-studio-2008 label .net-3.5

我试图按照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>

这里有什么问题?

3 个答案:

答案 0 :(得分:0)

这是一个令人讨厌的视觉工作室故障。只需重建项目。

答案 1 :(得分:0)

代码似乎没问题。我在我的VS中使用了你的代码,该消息只出现一次,一旦我清理并重建代码,错误就消失了。

答案 2 :(得分:0)

只是为了说明如何通过设置Label 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>