c# - OnNavigatedFrom en Windows Phone 8.1
windows-phone-8 windows-runtime (1)
El problema parece ocurrir porque se está ejecutando en modo Depuración (VS adjunto). En esta situación, su programa se comporta poco diferente en caso de eventos de navegación / suspensión, para probarlo correctamente tendrá que invocar el evento de suspensión manualmente ( menú desplegable de eventos Lifecyce ). En situación normal, se invocarán ambos eventos ( OnNavigatedFrom y Suspending ) justo después de que abandones la aplicación.
Para probarlo, vamos a poner algo en OnNavigatedFrom (basándonos en la aplicación Hub desde las plantillas de Windows Store):
protected async override void OnNavigatedFrom(NavigationEventArgs e)
{
Debug.WriteLine("OnNavigatedFrom");
Hub.Background = new SolidColorBrush(Colors.Red);
this.navigationHelper.OnNavigatedFrom(e);
}
en este caso, cuando ejecuta la aplicación sin Visual Studio conectado, cuando regresa a la aplicación, el fondo debe ser rojo, lo que significa que el evento se ha activado.
De hecho, hay una diferencia más grande (IMO) al pasar a WP8.1 WinRT - OnNavigatedTo no se disparará cuando regrese de la suspensión :
Nota En Windows Phone, se llama a OnNavigatedFrom () cuando la aplicación se suspende. OnNavigatedTo () no se llama cuando se reanuda la aplicación.
se llama solo cuando navegas.
Algunas referencias más: Navegación entre páginas , Ciclo de vida , Lanzamiento, reanudación y multitarea y Pautas para suspender y reanudar la aplicación .
Me estoy moviendo de Windows Phone 8 a Windows Phone 8.1.
Creé una aplicación para Windows Phone 8.1 Store, aplicación Hub.
La aplicación creó los métodos OnNavigatedTo y OnNavigatedFrom
protected override void OnNavigatedTo( NavigationEventArgs e )
{
this.navigationHelper.OnNavigatedTo( e );
}
protected override void OnNavigatedFrom( NavigationEventArgs e )
{
this.navigationHelper.OnNavigatedFrom( e );
}
Puse un punto de interrupción en OnNavigatedFrom e intenté cerrar la aplicación, o salir de la aplicación y no se tocó el punto de interrupción, es decir, la aplicación no llega al OnNavigatedFrom.
Una aplicación de Windows Phone 8 se está rompiendo en OnNavigatedFrom. ¿El mecanismo es diferente con WP 8.1? ¿si es así, cómo?
Gracias.