Wpf工具提示和绑定到标签内容

时间:2015-09-02 10:20:35

标签: wpf xaml tooltip

我的wpf应用程序上有很多标签。

<Label Style="{StaticResource styleLabelTitle}">
        <TextBlock TextTrimming="CharacterEllipsis" Text="{localization:Translate geolocation_controls}">
        </TextBlock>
</Label>

我想在省略号工作时添加工具提示以显示完整名称。所以我在标签样式中添加工具提示。

<Style x:Key="styleLabelTitle" TargetType="Label" x:Shared="False">
        <Setter Property="Foreground" Value="{StaticResource brushTextsForeground}"></Setter>
        <Setter Property="FontWeight" Value="Bold"></Setter>
        <Setter Property="FontFamily" Value="Consolas"></Setter>
        <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Content}" />
</Style>

问题在于我认为当工具提示出现时正在更改文本块父级。因此,文本仅出现在工具提示中,并从原始标签中删除。 有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我终于通过做一种新风格来解决问题。

<Style x:Key="styleLabelText" TargetType="{x:Type Label}"
     x:Shared="False">
    <Setter Property="Foreground" Value="{StaticResource brushTextsForeground}"></Setter>
    <Setter Property="FontWeight" Value="Normal"></Setter>
    <Setter Property="FontFamily" Value="Consolas"></Setter>
    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Content}" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Label}">
                <TextBlock HorizontalAlignment="Center"    VerticalAlignment="Center" TextTrimming="CharacterEllipsis"
                        Text="{TemplateBinding Content}" />
            </ControlTemplate>
        </Setter.Value>
    </Setter> </Style>

答案 1 :(得分:0)

您只有文本块的实例,然后当您将其分配给工具提示时,内容会像您所说的那样丢失。

您应该使用样式中的翻译文本设置工具提示的值:

<Label Style="{StaticResource styleLabelTitle}" ToolTip="{localization:Translate geolocation_controls}">
   <TextBlock ...> 
</Label>