The question says it all really. If you are writing a WPF application, how are you integrating the application help? What is the state of play in mid-2013?
It seems that there is no clear answer to this from an afternoon with a search engine, but several options:
Write your own fancy tooltip based help (but where are you getting your data from?)
Use .CHM files and the Windows Forms help system (seems archaic to me).
Use Microsoft Help Viewer 1.X or Microsoft Help 2.0.
Use a third-party product to author your help files and link to them somehow - DocToHelp/NetHelp, NetAdvantage on-line help, etc...
Furthermore, what XAML based mark-up / attributes are you using to provide the necessary context? What is the recommended method?
It seems surprising there is no clear path for supporting application based help in WPF.
Windows Presentation Foundation (WPF) is a UI framework that creates desktop client applications. The WPF development platform supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding, documents, and security.
With WPF, Microsoft provided much more robust data binding and many more hooks exist that allow the flexibility needed for complicated business applications. You will find yourself using XAML to express the data binding that you would have had to write code for in Windows Forms applications.
WPF runtime libraries are included with all versions of Microsoft Windows since Windows Vista and Windows Server 2008.
To run the solution, press F5. Type your first and last name into the dialog. Close the dialog and the console echoes your name. Learn how to build a variety of applications using the framework of Windows Presentation Foundation (WPF). This article gives an overview of WPF with .NET Core and .NET 5.
The. NET framework offers us the Help class and the HelpProvider component to seamlessly integrate a Help system into our applications. Surprisingly, integrating the regular done-to-death Help techniques into your application with the use of the HelpProvider component in. NET is insufficiently illustrated in the VS. NET documentation.
The Windows Forms HelpProvider component is used to associate an HTML Help 1. x Help file (either a. chm file, produced with the HTML Help Workshop, or a. htm file) with your Windows application. The HelpProvider component can be used to provide context-sensitive Help for controls on Windows Forms or specific controls.
See the Help File Demo in the code that comes with this article. Associating the HelpProvider component with a .chm file is the most preferred way of going about designing and integrating a help system for a WinForms application from what I hear, and not without obvious reasons.
My current preference is to use a third party help authorizing system to generate HTML based help.
We then use a WebBrowser
to display this help as needed. The authoring system we use makes it fairly easy to extract out a single page from the main help (each "topic" is a single HTML file, and can be included with full contents or not as desired).
Granted, this definitely felt like a bit of a nasty hack at first - but once we wrote the basic plumbing (some attached properties for xaml to specify attributes for context location and add behavior to trigger help, etc), it's fairly clean.
One very nice advantage to this approach, however, is a single help system build works perfectly in all contexts - we can include the documentation online, expose it locally for use in a browser, and use it with context from within our application directly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With