NavigationService.Navigating Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.
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 .