NavigationService.Navigating Zdarzenie

Definicja

Występuje, gdy jest wymagane nowe nawigowanie.

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 

Typ zdarzenia

Przykłady

W poniższym przykładzie pokazano, jak obsługiwać Navigating wykrywanie, czy żądanie odświeżenia zawartości statycznej zostało wykonane, a jeśli tak, aby anulować żądanie.

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

Uwagi

Navigating jest zgłaszany w przypadku żądania nowej nawigacji, ale przed zażądaniem zawartości źródłowej, w tym w następujących przypadkach:

  • Wywołano metodę Navigate.

  • GoBack lub GoForward jest wywoływany (lub wpis jest wybierany z interfejsu użytkownika nawigacji).

  • Następuje przejście do fragmentu zawartości.

Jeśli chcesz odnaleźć odpowiednie informacje dotyczące żądania nawigacji przed rozpoczęciem nawigacji, należy je obsłużyć Navigating . Te informacje są dostępne z NavigatingCancelEventArgs obiektu przekazywanego do programu obsługi zdarzeń Navigating .

WebRequest Obiekt nawigacji jest tworzony i dostępny z parametru NavigatingCancelEventArgs , ponieważ rzeczywiste żądanie nie zostało w tym momencie wykonane, możesz ponownie skonfigurować WebRequest obiekt, jeśli to konieczne.

Można również obsługiwać NavigatingCancelEventArgs anulowanie nawigacji, jeśli jest to wymagane, ustawiając wartość Cancel true. Jeśli anulujesz nawigację, żadne inne zdarzenia nawigacji nie zostaną zgłoszone.

Uwaga

Jeśli aplikacja jest hostowana w przeglądarce, nie można uniemożliwić użytkownikowi przechodzenia z dala od aplikacji przez anulowanie Navigating zdarzenia.

Po przejściu do pierwszego elementu zawartości przez nawigator (NavigationWindow, Frame), każdy element zawartości, który jest odchywany, jest dodawany do historii nawigacji. Jeśli musisz zapisać informacje o stanie zawartości, od której się odchodzisz, możesz dodać stan do wpisu dziennika dla tej zawartości, ustawiając obiekt ContentStateToSaveCustomContentState .

Uwaga

Gdy NavigationService program zgłasza Navigatingobiekt , zgłasza Application.Navigating również zdarzenie w Application obiekcie .

Dotyczy

Zobacz też