SilverlightHelp (XamlHelp for Silverlight)

SilverlightHelp is a new XAML-based help format and runtime for Silverlight applications. See also XamlHelp for WPF and PhoneHelp for Windows Phone 7.

Highlights

  • XAML-based. Your help system will use the same look and feel as the app itself
  • New featureTwo authoring solutions - Twister4Word and Twister
  • Built-in support for Google Analytics to get stats on which help topics are viewed, topics that are never viewed, what users search for etc. See the HelpStats app by Web-Analysis.net. The Google Analytics support for the help system also enables it for the SL or WPF app hosting the help, enables you to quickly get usage reports for your app using the Google Analytics site or the AppStats tool by Web-Analysis.net
  • Single assembly solution, link to the help runtime assembly and you’re good to go
  • Supports the usual help system features: TOC, Search, Index as well as a Favorites page
  • Ranked search support
  • Context-sensitive help support
  • Variables - Support for both compile-time and run-time variables
  • Conditional text - both at compile-time and at run-time
  • Page transitions - use different page transitions to make the help more interesting
  • New featureDocViewer - we recently released a standalone Windows app, the DocViewer, for viewing both regular WPF help and help systems embedded in Silverlight and WP7 "XAP files.

Using SilverlightHelp in a Silverlight app

Using SilverlightHelp in your SL app is really trivial. The authoring tool (Xaml4Word) automatically links your Silverlight project to the necessary assemblies and as well as adds the XAML topics. All you need is to load the help system by calling HelpLoader.LoadDefault(). The help system is then automatically accessible with the F1 key. If you want a button to open the help system, call HelpLoader.Default.RunModalHelp(this) in a Click handler of the button.

Why use XAML for Help?

  • One single XAML resource file can control both the app UI and the help system
  • The Help blends in with the rest of the UI since it’s using the same renderer. Since the help files are XAML they are rendered by the same rendering pipeline as the rest of the UI and can be part of XAML clipping and animations
  • The XAML renderer is smaller and faster than the Web Browser control
  • Runtime variables, you can use variables in a help topic that is replaced at runtime with any XAML, for example you can at runtime update the help with UI controls that mimic you regular UI. For example, a help topic can refer to a button in the UI and actually host a working copy of that button for the user to click. Live charts would be another example candidate for runtime variables
  • Support for advanced XAML graphics such round borders and gradient brushes etc, which are not part of HTML/CSS
  • You can use XAML controls within topics to make them more “interesting”, for example “Expander controls” for “Drop Down Text blocks”
  • Use of XAML animations to make topics look more interesting

New featureRuntime Variables Sample

Here is a zip of sample VS project using runtime variables