c# windows-phone-8 windows-runtime windows-phone-8.1

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.