首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将F1帮助(CHM格式)与WPF一起使用

将F1帮助(CHM格式)与WPF一起使用
EN

Stack Overflow用户
提问于 2009-05-29 20:56:33
回答 5查看 34.5K关注 0票数 20

我开发WPF应用程序已经有一段时间了,是时候将CHM格式的帮助文档附加到它上面了。

但是,天哪!HelpProvider,在Winforms中显示CHM文件的标准方式,已经神奇地消失了,在WPF中也没有对应的东西。我一直在尝试使用WindowsFormsHost生成一个新的控件,这样我就可以实际显示帮助,但本质上它只是获取了整个UI的控制权。

再详细一点:我有一个菜单项,当单击该菜单项时,将打开CHM文件。

首先,我设置了WindowsFormsHost...

代码语言:javascript
复制
host = new System.Windows.Forms.Integration.WindowsFormsHost();
helpForm = new System.Windows.Forms.Control();
host.Child = helpForm;
host.Visibility = System.Windows.Visibility.Hidden;
this.grid1.Children.Add(host);

hp = new System.Windows.Forms.HelpProvider();
hp.HelpNamespace = "Somehelpfile.chm";
hp.SetHelpNavigator(helpForm, System.Windows.Forms.HelpNavigator.TableOfContents);

然后我说,瞧,暴露你自己吧。

代码语言:javascript
复制
private void Help_Click(object sender, RoutedEventArgs e)
{
    host.Visibility = Visibility.Visible;
    helpForm.Show();
    hp.SetShowHelp(helpForm, true);
}  

我真的不确定从哪里开始。当我显示helpForm时,它遮蔽/覆盖了现有的UI,我得到的只是一个灰色的、空的WPF窗口,没有帮助文件。

有谁愿意接受吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-29 21:06:25

你可以说我疯了,但你就不能:

代码语言:javascript
复制
System.Diagnostics.Process.Start(@"C:\path-to-chm-file.chm");
票数 24
EN

Stack Overflow用户

发布于 2009-08-31 02:20:57

如果包含System.Windows.Forms.dll,还可以执行以下操作:

代码语言:javascript
复制
System.Windows.Forms.Help.ShowHelp(null, @"help.chm");

此外,还有一篇关于向WPF添加上下文相关帮助系统的文章here

票数 28
EN

Stack Overflow用户

发布于 2009-11-02 01:21:32

我正在试用Easy Help with WPF,它也可以根据关键字提供上下文相关的帮助。到目前为止,它看起来还不错。我需要做的就是开始工作,写一些像样的帮助!

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/928122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档