Freigeben über


Page.OnNavigatedFrom(NavigationEventArgs) Methode

Definition

Wird unmittelbar nach dem Entladen der Seite aufgerufen und ist nicht mehr die aktuelle Quelle eines übergeordneten Frames.

protected:
 virtual void OnNavigatedFrom(NavigationEventArgs ^ e) = OnNavigatedFrom;
void OnNavigatedFrom(NavigationEventArgs const& e);
protected virtual void OnNavigatedFrom(NavigationEventArgs e);
function onNavigatedFrom(e)
Protected Overridable Sub OnNavigatedFrom (e As NavigationEventArgs)

Parameter

e
NavigationEventArgs

Ereignisdaten, die durch Überschreiben von Code untersucht werden können. Die Ereignisdaten sind repräsentativ für die Navigation, die die aktuelle Seite entladen hat.

Hinweise

OnNavigatedFrom wird standardmäßig aufgerufen, wenn Sie zwischen Seiten in Ihrer App navigieren. Sie können diese Methode überschreiben und Informationen zur Navigation über die NavigationEventArgs abrufen und alle für Ihre App erforderlichen Aktionen ausführen. Sie sollten jedoch vermeiden, den Zustand der Seite zu ändern, indem Sie die Registrierung von Ereignishandlern aufheben oder andere Bereinigungen durchführen, insbesondere in Apps, die Frame.GetNavigationState beim Anhalten aufrufen.

Beim Anhalten

Zusätzlich zum Aufrufen beim Navigieren zwischen Seiten wird die OnNavigatedFrom-Methode aufgerufen, wenn die App angehalten wird, wenn Frame.GetNavigationState im Application.Suspending-Ereignishandler aufgerufen wird.

Obwohl es natürlich erscheint, OnNavigatedFrom zu verwenden, um die Registrierung von Ereignishandlern aufzuheben, die in OnNavigatedTo registriert wurden, kann dies zu Problemen führen, wenn Ihre App ihren Zustand beim Anhalten speichert. Beim Speichern des Zustands beim Anhalten wird in der Regel Frame.GetNavigationState aufgerufen, der dann Page.OnNavigatedFrom auf der aktuellen Seite aufruft, wodurch die Seite den Zustand beibehalten/serialisieren soll, den sie bei der Backnavigation oder der Rehydration beibehalten hat. Wenn die App angehalten und dann fortgesetzt wird (ohne Beendigung und Neustart), werden alle in OnNavigatedFrom nicht registrierten Ereignishandler nicht erneut registriert, da Page.OnNavigatedTo beim Fortsetzen nicht aufgerufen wird.

Um dieses Problem zu vermeiden, sollten Sie stattdessen OnNavigatingFrom oder das Unloaded-Ereignis verwenden, das nur in der tatsächlichen Navigation aufgerufen wird, um die Registrierung von Ereignishandlern aufzuheben und andere Bereinigungen auszuführen.

Gilt für: