Page.OnNavigatedFrom(NavigationEventArgs) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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)
Parametri
Dati dell'evento che possono essere esaminati eseguendo l'override del codice. I dati dell'evento sono rappresentativi dello spostamento che ha scaricato la pagina corrente.
Commenti
OnNavigatedFrom viene richiamato per impostazione predefinita quando si passa tra pagine nell'app. È possibile eseguire l'override di questo metodo e ottenere informazioni sulla navigazione da NavigationEventArgs e eseguire qualsiasi azione richiesta dall'app. Tuttavia, è consigliabile evitare di modificare lo stato della pagina annullando la registrazione dei gestori eventi o eseguendo altre operazioni di pulizia, in particolare nelle app che chiamano Frame.GetNavigationState in sospensione .
In caso di sospensione
Oltre a essere richiamato durante la navigazione tra pagine, il metodo OnNavigatedFrom viene richiamato quando l'app viene sospesa se Frame.GetNavigationState viene chiamato nel gestore eventi Application.Suspending .
Anche se sembra naturale usare OnNavigatedFrom per annullare la registrazione dei gestori di eventi registrati in OnNavigatedTo, questo può causare problemi se l'app salva lo stato in sospensione. Il salvataggio dello stato in sospensione comporta in genere la chiamata a Frame.GetNavigationState, che chiama quindi Page.OnNavigatedFrom nella pagina corrente, che segnala la pagina per rendere persistente/serializzare qualsiasi stato mantenuto sullo spostamento indietro o sulla riattivazione. Se l'app viene sospesa e quindi ripresa (senza terminazione e riavvio), i gestori eventi non registrati in OnNavigatedFrom non verranno registrati nuovamente perché Page.OnNavigatedTo non viene chiamato sul curriculum.
Per evitare questo problema, è invece consigliabile usare OnNavigatingFrom o l'evento Non caricato , che vengono chiamati solo sulla navigazione effettiva, per annullare la registrazione dei gestori eventi e eseguire altre operazioni di pulizia.