检测导航窗口返回事件

时间:2012-07-25 16:31:15

标签: c# wpf navigationwindow

如何确定何时按下导航窗口后退按钮并将该事件捕获到额外的内容。我正在考虑管理页面状态。

2 个答案:

答案 0 :(得分:3)

NavigationWindow.NavigatingNavigationService.Navigating添加处理程序。在你的处理程序中:

void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
{
    if (e.NavigationMode == NavigationMode.Back) {
        e.Cancel = true;

        // TODO: whatever state management you're going to do
    }
}

NavigatingCancelEventArgs包含有关管理页面状态所需的导航请求的所有信息。

答案 1 :(得分:1)

如果您想控制导航过程,NavigationService会提供您可以订阅的一些事件:

  • 在框架即将导航时导航。将取消设置为true 停止。
  • 导航完成后但在导航完成之前导航 呈现
  • 导航失败,出现问题时
  • NavigationProgress,当正在进行远程导航呼叫的块时 下载。
  • NavigationStopped,当调用StopLoading方法时 或者在下载期间发出新的Navigate请求
  • 当页面已呈现时,LoadCompleted
相关问题