我开发WPF应用程序已经有一段时间了,是时候将CHM格式的帮助文档附加到它上面了。
但是,天哪!HelpProvider,在Winforms中显示CHM文件的标准方式,已经神奇地消失了,在WPF中也没有对应的东西。我一直在尝试使用WindowsFormsHost生成一个新的控件,这样我就可以实际显示帮助,但本质上它只是获取了整个UI的控制权。
再详细一点:我有一个菜单项,当单击该菜单项时,将打开CHM文件。
首先,我设置了WindowsFormsHost...
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);
然后我说,瞧,暴露你自己吧。
private void Help_Click(object sender, RoutedEventArgs e)
{
host.Visibility = Visibility.Visible;
helpForm.Show();
hp.SetShowHelp(helpForm, true);
}
我真的不确定从哪里开始。当我显示helpForm时,它遮蔽/覆盖了现有的UI,我得到的只是一个灰色的、空的WPF窗口,没有帮助文件。
有谁愿意接受吗?
https://stackoverflow.com/questions/928122
复制相似问题