[Windows Phone] Como cambiar la página de navegación inicial por defecto.

Hola que tal, unos de los escenarios clásicos con los que nos podemos encontrar es que queramos cambiar el flujo de navegación inicial de nuestra aplicación, esto puede ser gatillado en distintos escenarios, el más común es el siguiente : Nuestra aplicación solicita o no, según lo configure el usuario, una password de acceso al inicio de la app. Esta claro que no es conveniente que en la página principal de la aplicación se consulte si es que existe una password asociado, cargar de inmediato la ventana de password, ya que estaríamos entrando a la app y luego sacamos a la persona para que ingrese el su contraseña.

La solución es simple, lo primero es indicarle a la aplicación que no va a contar con una MainPage.xaml, como pagina de lanzadera por defecto. Para esto debes ir al archivo WMAppManifest.xml y eliminar el siguiente código:

  <Tasks>

      <DefaultTask Name="_default" NavigationPage="MainPage.xaml"/>

  </Tasks>

 

Luego ir al archivo App.xaml.cs  y agregar el código dentro del método InitializePhoneApplication ( lo puedes dejar al final):

 

if (IsolatedStorageSettings.ApplicationSettings.Contains("acceso"))

{

    if ((Convert.ToString(IsolatedStorageSettings.ApplicationSettings
                                          [
"acceso"]).ToLower() == "s"
))

    {

      RootFrame.Navigate(new Uri("/pin.xaml", UriKind.RelativeOrAbsolute));   

    }else{

     RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.RelativeOrAbsolute));

    }

}else{

     RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.RelativeOrAbsolute));

}

Obviamente le cambias el nombre de las p{aginas a cargar según corresponda. y no es nada más que esto, Super sencillo y evita el problema de un ingreso falso solo para revisar si tenemos que volver a salir para ingresar una contraseña.

Espero que te sirva!! @chalalo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *