NavigationService.Navigating Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs when a new navigation is requested.
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
Event Type
Examples
The following example shows how to handle Navigating to detect whether a request to refresh static content has been made and, if so, to cancel the request.
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
Remarks
Navigating is raised when a new navigation is requested, but before the source content is requested, including when:
Navigate is called.
GoBack or GoForward is called (or an entry is selected from a navigation UI).
A content fragment is navigated to.
You handle Navigating if you need to discover pertinent information regarding the navigation request before navigation starts. This information is available from the NavigatingCancelEventArgs object that is passed to the Navigating event handler.
A WebRequest object for the navigation is created and available from the NavigatingCancelEventArgs parameter; because the actual request hasn't been made at this point, you can reconfigure the WebRequest object, if necessary.
You also handle NavigatingCancelEventArgs to cancel navigation, if required, by setting Cancel to true. If you cancel navigation, no other navigation events are raised.
Note
If your application is hosted in the browser, you cannot prevent the user from navigating away from your application by canceling the Navigating event.
After the first piece of content is navigated to by a navigator (NavigationWindow, Frame), each piece of content that is navigated away from is added to navigation history. If you need to save state information about the content you are navigating away from, you can add the state to the journal entry for that content by setting ContentStateToSave with a CustomContentState object.
Note
When NavigationService raises Navigating, it also raises Application.Navigating event on the Application object.