Page.OnNavigatedFrom(NavigationEventArgs) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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)
Parámetros
Datos de eventos que se pueden examinar reemplazando el código. Los datos del evento son representativos de la navegación que ha descargado la página actual.
Comentarios
OnNavigatedFrom se invoca de forma predeterminada al navegar entre páginas de la aplicación. Puedes invalidar este método y obtener información sobre la navegación desde NavigationEventArgs y realizar cualquier acción que requiera la aplicación. Sin embargo, debe evitar cambiar el estado de la página anulando el registro de controladores de eventos o realizando otra limpieza, especialmente en las aplicaciones que llaman a Frame.GetNavigationState durante la suspensión.
Al suspender
Además de invocarse al navegar entre páginas, se invoca el método OnNavigatedFrom cuando se suspende la aplicación si se llama a Frame.GetNavigationState en el controlador de eventos Application.Suspending .
Aunque parece natural usar OnNavigatedFrom para anular el registro de controladores de eventos registrados en OnNavigatedTo, esto puede provocar problemas si la aplicación guarda su estado al suspenderse. Guardar el estado en suspensión normalmente implica llamar a Frame.GetNavigationState, que luego llama a Page.OnNavigatedFrom en la página actual, que indica a la página que persista o serialice cualquier estado que conserve en la navegación hacia atrás o rehidratación. Si la aplicación se suspende y, a continuación, se reanuda (sin terminación y relanzamiento), los controladores de eventos no registrados en OnNavigatedFrom no se volverán a registrar porque no se llama a Page.OnNavigatedTo en la reanudación.
Para evitar este problema, en su lugar debe usar OnNavigatingFrom o el evento Unloaded , que solo se llama en la navegación real, para anular el registro de controladores de eventos y realizar otra limpieza.