【问题标题】:Wpf Tooltip and Binding to Label ContentWpf 工具提示和绑定到标签内容
【发布时间】:2015-09-02 10:20:35
【问题描述】:

我的 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>

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

提前致谢。

【问题讨论】:

  • 您可以添加一个转换器。但是当 textBlock 的文本发生更改时,这将不起作用,因为我们已绑定到 Content。

标签: wpf xaml tooltip


【解决方案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>

【讨论】:

    【解决方案2】:

    你只有一个文本块的实例,然后当你将它分配给工具提示时,内容就会丢失。

    您应该设置工具提示的值与翻译文本的样式不同:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多