【问题标题】:Insert action link into text in WPF Label将操作链接插入到 WPF 标签中的文本中
【发布时间】:2017-12-14 21:54:10
【问题描述】:

我正在开发一个 WPF 应用程序。

我的窗口上有一个标签,我用作状态窗口,我用单例管理它。

如何在该标签中插入链接?

我看到的所有答案都与更改 XAML 或标签的性质有关。这些解决方案不起作用,因为实际上任何东西都可以出现在这个状态窗口中。

我希望链接在单击时引发自定义事件。

有人知道怎么做吗?

上传到标签的文本应如何操作的示例。单击超文本格式的单词时,我需要引发一个事件:

【问题讨论】:

  • @Lei Yang,不起作用。我认为任何 XAML 解决方案都不会。我需要在文本中插入一个链接,然后将该文本发布到我的标签。无论解决方案是什么,我都相当肯定,它将完全是 C#。
  • 你能上传一个关于你的预期结果的屏幕截图吗?
  • 我在问题中添加了一张图片。忽略垂直穿过图像的线,它只是设计师的指导。
  • “实际上任何东西都可以出现在这个状态窗口中”——真的吗?就像,一头真正的会出现在那里?这是什么意思,为什么这会阻止对 XAML 的更改?你的问题太模糊和不清楚。请提供一个很好的 minimal reproducible example 来说明您的方案现在是如何工作的,并准确地解释您希望代码做什么。让其他人担心什么是可能的,什么是不可能的;在你真正知道可行的解决方案是什么样子之前,你已经超越了自己,拒绝了解决方案。

标签: c# wpf events


【解决方案1】:

“在文本中插入链接”与将Hyperlink 添加到Inlines 集合中的TextBlock 相同:

TextBlock tb = new TextBlock();
var hp = new Hyperlink(new Run("error"));
hp.Click += (s, e) => { /* do something */ };
tb.Inlines.Add(new Run("There was as an "));
tb.Inlines.Add(hp);
tb.Inlines.Add(new Run(" on run"));

这是在 WPF 中执行此操作的唯一方法,而且非常简单。

【讨论】:

  • 这正是我所需要的。完美运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-27
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
相关资源
最近更新 更多