【问题标题】:WPF Application - Press F1 to open Help in a browser (not with CHM file)WPF 应用程序 - 按 F1 在浏览器中打开帮助(不是 CHM 文件)
【发布时间】:2011-10-24 16:55:47
【问题描述】:

仅供参考 - 我是 C# / WPF 新手。

我的任务是在现有 C# WPF 应用程序中通过 F1 键合并上下文相关帮助。

我们不想走使用 chm(windows html 帮助)的路线,而是希望在 wiki 上打开一个更容易维护和更新的特定页面。

我找到的所有示例都演示了如何使用 chm 文件。此外,他们需要向每个元素添加帮助提供程序,这可能会非常耗时。

相反,我一直在尝试确定哪个控件(或至少它是容器或窗口)具有焦点以确定要打开的页面。然后,我会将其名称与我们数据库中的 url 匹配。为此,我尝试对从 VisualTreeHelper 返回的 FrameworkElement 对象进行递归循环,但它返回的元素数量惊人,让我觉得这是一种尝试找到我想要的东西的低效方式。

有人对我最好的方法有什么建议吗?您能否指导我打开浏览器并根据按键从 WPF 应用程序中将 URL 传递给它的示例?

感谢任何帮助。我已经在这方面旋转了太久了!

LALCB

【问题讨论】:

标签: c# wpf


【解决方案1】:

如果您有大量控件,这可能会很麻烦。但开始可能是为每个控件处理 PreviewKeyDown 或 PreviewKeyUp 并在 F1 上进行过滤。然后将其放入处理程序中:

System.Diagnostics.Process.Start(@"[the url]");

[url] 是特定于控件的,所以你不需要查找表,因为你知道你在哪个事件处理程序中。

您也可以使用分配给所有 PreviewKeyDown 或 PreviewKeyUp 事件的一个事件处理程序,然后根据发送者对象信息使用您的数据库查找。

【讨论】:

  • 谢谢 - 我想我会选择后者。
猜你喜欢
  • 2010-10-30
  • 2019-01-24
  • 2018-08-27
  • 2017-03-10
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
相关资源
最近更新 更多