C# WPF中的动态工具提示
我刚进入WPF几天,有点搞清楚了。我已经实现了一个选项卡,现在我需要动态填充文件名的工具提示。选项卡标题应仅显示文件名,因为工具提示应显示整个文件路径。我该怎么做?代码如下:C# WPF中的动态工具提示,c#,wpf,dynamic,tooltip,C#,Wpf,Dynamic,Tooltip,我刚进入WPF几天,有点搞清楚了。我已经实现了一个选项卡,现在我需要动态填充文件名的工具提示。选项卡标题应仅显示文件名,因为工具提示应显示整个文件路径。我该怎么做?代码如下: <!-- XAML --> <Label Content="TabItem" Height="23" HorizontalAlignment="Left" Margin="4,1,0,0" Name="TabTitle" VerticalAlignment="Top" Fon
<!-- 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);
}
}
公共字符串标题
{
设置
{
((CloseableHeader)this.Header).TabTitle.Content=ExtractFileName(值);
}
}
您说过希望在选项卡上显示工具提示,但您的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" />
旁注: WPF的优点之一是内置了高级数据绑定。您应该研究MVVM模式,它允许您将逻辑(在ViewModel中)与布局(在XAML中)分开 然后,您可以在ViewModel中拥有一个类似“Title”的属性,将视图绑定到ViewModel,并使用以下内容设置工具提示:
<Label ToolTip={Binding Path=Title} ... />
您可以新建一个控件,然后将工具提示设置为此新控件
var but = new Button();
// old code
but.ToolTip = "some string";
// new code with font that can be controlled
var toolTipTextBox = new TextBox();
toolTipTextBox.Text = "some string";
toolTipTextBox.FontSize = 24;
but.ToolTip = toolTipTextBox;
标题属性只是我的代码隐藏。
var but = new Button();
// old code
but.ToolTip = "some string";
// new code with font that can be controlled
var toolTipTextBox = new TextBox();
toolTipTextBox.Text = "some string";
toolTipTextBox.FontSize = 24;
but.ToolTip = toolTipTextBox;