NavigationService.Navigating Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Появляется, когда запрошен новый переход.
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 вызывается при запросе новой навигации, но до запроса исходного содержимого, в том числе в следующих случаях:
Вызывается метод Navigate.
GoBack вызывается или GoForward (или запись выбирается в пользовательском интерфейсе навигации).
Выполняется переход к фрагменту содержимого.
Вы обрабатываете Navigating , если вам нужно найти соответствующие сведения о запросе навигации перед началом навигации. Эти сведения доступны из NavigatingCancelEventArgs объекта , передаваемого обработчику Navigating событий.
Объект WebRequest для навигации создается и доступен из NavigatingCancelEventArgs параметра . Так как фактический запрос на данный момент не был выполнен, при необходимости можно перенастроить WebRequest объект .
Вы также можете NavigatingCancelEventArgs отменить навигацию, если это необходимо, задав Cancel значение true. При отмене навигации другие события навигации не создаются.
Примечание
Если приложение размещено в браузере, вы не сможете запретить пользователю переход из приложения, отменив Navigating событие.
После перехода к первому фрагменту содержимого с помощью навигатора (NavigationWindow, Frame), каждый фрагмент содержимого, от которых осуществляется переход, добавляется в журнал навигации. Если необходимо сохранить сведения о состоянии содержимого, с которым вы перемещаетесь, можно добавить состояние в запись журнала для этого содержимого, задав ContentStateToSave с CustomContentState помощью объекта .
Примечание
Когда NavigationService вызывает Navigating, он также вызывает Application.Navigating событие для Application объекта .