private void ReleaseNotesBrowser_Navigated(object sender, NavigationEventArgs e)
 {
     if (!_hasFinishedNavigatingToAboutBlank)
     {
         ReleaseNotesBrowser.NavigateToString(_notes);
         _hasFinishedNavigatingToAboutBlank = true;
     }
 }
 private void ReleaseNotesBrowser_Loaded(object sender, RoutedEventArgs e)
 {
     // see https://stackoverflow.com/a/15209861/3938401
     ReleaseNotesBrowser.Loaded -= ReleaseNotesBrowser_Loaded;
     ReleaseNotesBrowser.Dispatcher.Invoke(() =>
     {
         ReleaseNotesBrowser.NavigateToString("about:blank");
     });
 }
 /// <summary>
 /// Show the release notes to the end user. Release notes should be in HTML.
 ///
 /// There is some bizarre thing where the WPF browser doesn't navigate to the release notes unless you successfully navigate to
 /// about:blank first. I don't know why. I feel like this is a Terrible Bad Fix, but...it works for now...
 /// </summary>
 /// <param name="htmlNotes">The HTML notes to show to the end user</param>
 public void ShowReleaseNotes(string htmlNotes)
 {
     _notes = htmlNotes;
     ReleaseNotesBrowser.Dispatcher.Invoke(() =>
     {
         if (ReleaseNotesBrowser.IsLoaded)
         {
             if (_hasFinishedNavigatingToAboutBlank)
             {
                 ReleaseNotesBrowser.NavigateToString(_notes);
             }
             // else will catch up when navigating to about:blank is done
         }
         else
         {
             // don't do anything until the web browser is loaded
             ReleaseNotesBrowser.Loaded += ReleaseNotesBrowser_Loaded;
         }
     });
 }