WPF上下文敏感帮助 - 最佳实践

时间:2014-04-16 15:48:29

标签: c# wpf xaml

我使用.chm文件创建了一个用于上下文相关帮助的wpf应用程序。我已经创建了一个上下文相关的帮助,方法是在单击文本框或按钮后按F1键,然后按事件处理。 ,但我也需要窗户。当窗口加载时,我可以在xaml中将窗口帮助设置为默认窗口,现在可以正常工作。但是,如果我使用文本框帮助,那么我无法切换回窗口帮助,因为我没有包含任何事件。

对于这种情况,使用事件是唯一可能包含窗口帮助的可能性吗?什么是最佳做法?有没有办法在xaml本身上使用窗口焦点,或者使用事件最终作为最佳实践?

非常感谢!!

1 个答案:

答案 0 :(得分:1)

为什么不直接实施F1帮助系统?这很简单......

看一下这个例子HERE。这提供了一个HelpProvider类,它为您设置HelpString的任何元素提供上下文相关帮助。这应该大致提供你需要的东西。

在您的情况下,只需将chm文件名作为您希望文件敏感的每个元素的帮助名称。你可以这样:

static private void Executed(object sender, ExecutedRoutedEventArgs e)
{
    YourHelpSystem.ShowHelp(HelpProvider.GetHelpString(sender as FrameworkElement) + ".chm");
}