Я закончил тем, что отменил навигацию, а затем вставил старый хэш-тег обратно в заголовок.
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (CharacterSheet.HasOpenDialogs)
{
e.Cancel = true;
Dispatcher.BeginInvoke(new Action(() =>{
HtmlPage.Window.CurrentBookmark = NavigationService.CurrentSource.ToString().Replace(@"\", @"/");
CharacterSheet.CloseDialogs();
}));
}
base.OnNavigatingFrom(e);
}