我有一个NavigationWindow(window1)和一个自定义导航状态。
我目前用于导航的内容是这样的:
我的问题虽然变成了当我导航回来时,我开始重写我的历史!
这是我的NavigationService_Navigating(...)(当我按下后退按钮时会调用它)
void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
{
try // If something goes wrong, just bail.
{
// If we're going backwards, we want to remember the current location.
if (e.NavigationMode == NavigationMode.Back) { e.ContentStateToSave = new GopherNavState(cLocation); }
// use our internal navigation to move to the location, but dont create a back entry.
navigate((e.TargetContentState as GopherNavState).tLocation, false);
}
catch
{ } // ...
}
问题发生了。我将在我的背后创建3/4条目,回过头来看看我的历史记录中充满了我正在查看的页面。
我已经尝试了一切,但我仍然无法做到。
答案 0 :(得分:1)
我找到了心痛的源头:历史菜单。事实证明,我使用NavigationWindow中的chrome导致了我的头痛。
为了解决这个问题,我只是关闭了窗口中的导航控件并创建了自己的控件(具有BrowseBack和BrowseForward命令的按钮)。