如何将帮助集成到WPF应用程序中?有什么建议?

Max*_*mer 6 chm wpf help-authoring help-files context-sensitive-help

这个问题说的都是真的.如果您正在编写WPF应用程序,那么如何集成应用程序帮助?2013年中期的比赛状态如何?

从搜索引擎的下午开始,似乎没有明确的答案,但有几种选择:

  1. 编写自己喜欢的基于工具提示的帮助(但是从哪里获取数据?)

  2. 使用.CHM文件和Windows窗体帮助系统(对我来说似乎很古老).

  3. 使用Microsoft Help Viewer 1.X或Microsoft Help 2.0.

    • 关于MS最近/批准哪些内容存在一些混淆.看起来帮助查看器1.X可能是Microsoft Help 2.0的推荐选项.这些名字如此相似并没有帮助......
    • 2.0的状态是什么?我们应该使用它吗?是否曾全面部署?
  4. 使用第三方产品编写您的帮助文件并以某种方式链接到它们 - DocToHelp/NetHelp,NetAdvantage在线帮助等...

此外,您使用什么基于XAML的标记/属性来提供必要的上下文?推荐的方法是什么?

令人惊讶的是,在WPF中支持基于应用程序的帮助没有明确的途径.

Ree*_*sey 6

我目前的偏好是使用第三方帮助授权系统来生成基于HTML的帮助.

然后我们使用a WebBrowser来根据需要显示此帮助.我们使用的创作系统使得从主帮助中提取单个页面相当容易(每个"主题"是单个HTML文件,并且可以包含在完整内容中或根据需要包含).

当然,这肯定感觉有点像一个讨厌的黑客 - 但是一旦我们编写了基本的管道(xaml的一些附加属性来指定上下文位置的属性并添加触发帮助的行为等),它就相当干净了.

然而,这种方法的一个非常好的优点是单个帮助系统构建在所有上下文中都能完美地工作 - 我们可以在线包含文档,在本地公开它以便在浏览器中使用,并直接在我们的应用程序中使用它.