Поделиться через


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 , чтобы определить, был ли выполнен запрос на обновление статического содержимого, и, если да, отменить запрос.

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 объекта .

Применяется к

См. также раздел