我的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>
问题在于我认为当工具提示出现时正在更改文本块父级。因此,文本仅出现在工具提示中,并从原始标签中删除。 有什么想法吗?
提前致谢。
答案 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>