WPF中的动态工具提示

时间:2014-05-06 23:37:03

标签: c# wpf dynamic tooltip

我只是进入WPF几天,有点想弄清楚。我已经实现了一个Tab,现在我需要动态填充文件名的工具提示。选项卡标题应仅显示文件名,因为工具提示应显示整个文件路径。我怎么做到这一点?代码如下:

<!-- XAML -->
<Label Content="TabItem"  Height="23" HorizontalAlignment="Left"
       Margin="4,1,0,0" Name="TabTitle" VerticalAlignment="Top"
       FontFamily="Courier" FontSize="12" ToolTip="Dynamic FilePath"/>

public string Title
{
    set
    {
        ((CloseableHeader)this.Header).TabTitle.Content = ExtractFileName(value);
    }
}

2 个答案:

答案 0 :(得分:2)

你说你想要一个标签上的工具提示,但你的XAML是一个标签,所以我只是使用它。请在下面发表评论,澄清你在做什么。

由于您只是使用代码隐藏,因此请为标签命名:

<Label Content="TabItem"  Height="23" HorizontalAlignment="Left"
       Margin="4,1,0,0" Name="TabTitle" VerticalAlignment="Top"
       FontFamily="Courier" FontSize="12" ToolTip="Dynamic FilePath"
       Name="MyLabel" />

然后在代码隐藏中设置“ToolTip”:

MyLabel.ToolTip = Title;  // or whatever you want to display

旁注:

WPF的一个好处是内置了高级数据绑定。您应该查看MVVM模式,它允许您将逻辑(在ViewModel中)与布局(在XAML中)分开。

然后你可以在ViewModel中拥有一个像“Title”的属性,将你的视图绑定到ViewModel,然后只需设置ToolTip:

<Label ToolTip={Binding Path=Title} ... />

答案 1 :(得分:0)

您可以新建一个控件,然后将工具提示设置为此新控件

if (null == savedInstanceState)