【问题标题】:c# wpf tooltip, can't get tooltip text in code behindc# wpf tooltip,无法在后面的代码中获取工具提示文本
【发布时间】:2016-06-15 23:27:59
【问题描述】:

我的 WPF 应用程序中有一个 xaml 数据网格模板,用于从共享点站点绑定/提取数据。每行都有一个带有工具提示的按钮,并且文本是从此连接动态加载的。当用户单击按钮时,它会将工具提示文本复制到 Windows 剪贴板。就在最近,我背后的现有代码停止工作,并且似乎无法再让动态加载的工具提示文本在代码中使用。我已经排除了剪贴板,因为我可以手动设置文本并将其复制到剪贴板,并且我仍然可以在 UI 中看到动态加载的文本,因此它不能是连接。以下是我在点击事件中获取文本的方法:

var buttonTemplate = ((Button)sender).ToolTip;
var buttonTTtext = ((TextBlock)buttonTemplate).Text;
System.Windows.Clipboard.SetText(buttonTTtext.ToString());

这是我在 datagrid 模板中使用的 xaml:

<mui:ModernButton Click="someButton_Click" Tag="{Binding Path=MyTemplate}" >
<mui:ModernButton.ToolTip>
<TextBlock Text="{Binding Path=template}" TextWrapping="Wrap" />
</mui:ModernButton.ToolTip>
</mui:ModernButton>

【问题讨论】:

    标签: c# wpf tooltip


    【解决方案1】:

    感谢您的帮助...工具提示文本位于按钮的 DataContext 中。我用这段代码解决了我的问题:

    Button btn = (Button)sender;
    var dc = btn.DataContext.GetType().GetProperty("template").GetValue(btn.DataContext, null);
    

    【讨论】:

    • 我想这是一个社区,如果有人试图帮助你,而你自己找到答案,他们会删除他们的评论并对你的问题和答案投反对票。 (摇头)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2012-04-13
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多