Twister4Word™ Help Popups

Inspired by this great CodeProject article by Josh Fisher, we've added support for Help Popups to our WPF help engine.

Help Popups are special kind of tooltips, hitting the F1 key puts a highlight around the controls that have help available. When the mouse is placed over the control, the help text is displayed in a tooltip like fashion. When the user is done, hitting F1 again removes the highlight and the help is no longer displayed. Of course, when the mouse is moved over the canvas or a control with no help, the help bubble disappears.

Here is a YouTube video of a trivial app with Help Popups.

How to author Popups?

The most convenient way to author the poups is to use MS Word and our Twister4Word plugin. Go here for more details.

How to enable Popups?

On startup of your main window, first load the tooltips document with this call ToolTipManager.Default.LoadTopics("MyToolTips.xaml");

Then enable the Help Popups with this call new HelpPopupManager().AttachPopups(myWindow);

Customize Popups?

It's really easy to customize the popups. Create the HelpPopupManager (see sample below) and change any of these dependency properties:

  • BorderThickness
  • BorderBrush
  • Background
  • CornerRadius
  • Padding
  • HasHelpEffect - the highlight effect
  • PopupAnimation

Sample code and sample for customized popups

    var hm = new HelpPopupManager();
    hm.HasHelpEffect = new DropShadowEffect() { Color = Colors.Blue, BlurRadius = 20, ShadowDepth = 0 }; // CUSTOM HIGHLIGHT
    hm.BorderThickness = new Thickness(2); // POPUP
    hm.CornerRadius = new CornerRadius(16); // POPUP-
    hm.AttachPopups(this);
    

 

Binding a checkbox to enable popups

By default the F1 key activates the highlights and the popup tooltips. If you want to control this with a checkbox, bind the checkbox to the HelpPopupManager as shown in the sample below.

    var hm = new HelpPopupManager();
    hm.AttachPopups(this);

    Binding b = new Binding(HelpPopupManager.HelpActiveProperty.Name);
    b.Source = hm;
    b.Mode = BindingMode.TwoWay;

    // Bind the checkbox named "_mEnableTooltips" to the HelpPopupManager:
    _mEnableTooltips.SetBinding(CheckBox.IsCheckedProperty, b);