NavigationService.Navigating 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
请求新导航时发生。
public:
event System::Windows::Navigation::NavigatingCancelEventHandler ^ Navigating;
public event System.Windows.Navigation.NavigatingCancelEventHandler Navigating;
member this.Navigating : System.Windows.Navigation.NavigatingCancelEventHandler
Public Custom Event Navigating As NavigatingCancelEventHandler
事件类型
示例
以下示例演示如何处理 Navigating 以检测是否已发出刷新静态内容的请求,如果是,则取消请求。
void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e)
{
// Don't allow refreshing of a static page
if ((e.NavigationMode == NavigationMode.Refresh) &&
(e.Uri.OriginalString == "StaticPage.xaml"))
{
e.Cancel = true;
}
}
Private Sub NavigationService_Navigating(ByVal sender As Object, ByVal e As NavigatingCancelEventArgs)
' Don't allow refreshing of a static page
If (e.NavigationMode = NavigationMode.Refresh) AndAlso (e.Uri.OriginalString = "StaticPage.xaml") Then
e.Cancel = True
End If
End Sub
注解
Navigating 在请求新导航时,但在请求源内容之前引发,包括以下情况下:
如果需要在导航开始之前发现有关导航请求的相关信息,请处理 Navigating 该信息。 此信息可从 NavigatingCancelEventArgs 传递给 Navigating 事件处理程序的对象获取。
WebRequest导航的对象是从参数创建和可用的NavigatingCancelEventArgs;因为此时尚未发出实际请求,因此可以根据需要重新配置WebRequest对象。
还可以 NavigatingCancelEventArgs 通过设置为 Cancel true 来处理取消导航(如果需要)。 如果取消导航,则不会引发其他导航事件。
注释
如果应用程序托管在浏览器中,则无法通过取消 Navigating 事件来阻止用户离开应用程序。
导航器导航到第一段内容后,NavigationWindowFrame将从中导航的每一段内容添加到导航历史记录。 如果需要保存有关要离开的内容的状态信息,可以通过使用ContentStateToSave对象进行设置CustomContentState,将状态添加到该内容的日记条目中。
注释
引发NavigationService时Navigating,它还会引发Application.Navigating对象上的Application事件。