Navegando entre páginas en Windows Phone 7…

Una de las preguntas más repetidas en los foros de desarrollo de Windows Phone 7 es la forma de navegar entre páginas por nuestras aplicaciones. Vamos a ver lo sencillo que es en el siguiente ejemplo:

Imaginemos que tenemos dos páginas en nuestra aplicación, una que fuera la MainPage.xaml y otra SecondPage.xaml. Si queremos ir de la primera a la segunda, podemos hacer uso de un HyperlinkButton y de su evento click introduciendo en su manejador el siguiente código.

private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));
        }

¿Y si queremos volver hacia atrás? ¿Es posible hacerlo? Sí, podemos hacer uso del método GoBack incluido en la clase NavigationService y establecer un vínculo de vuelta a la primera página.

private void hyperlinkButton2_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.GoBack();
        }

La propiedad NavigationService da acceso al servicio de navegación del framework de Silverlight. Además de lo aquí expuesto, existen otras utilidades como el paso de parámetros por URL que comentaré en otra entrada. Podéis echarle un ojo en la página de MSDN.

2 thoughts on “Navegando entre páginas en Windows Phone 7…”

  1. Hola Jose Angel:

    Gracias por el post! muy bueno!
    No se si tu podras ayudarme, pero tengo que crear apps de forma dinamica a partir de un doc XML que especifica todos los controles y funcionaliadad que la app tiene q tener, pero a pesar de que he sido capaz de manejar casi todo de esta manera, no me ha sido posible crear otra Pag dinamicamente y anyadirle componentes. He intentaod instanciar PhoneApplicationPage y Page, pero no puedo acceder a content, asi que imposible anyadir nada.. Igual estoy totalemnte equivocada y no deberia hacerlo de esta manera, podrias echarme una mano? o algun pista? o algun contacto de alquien que pueda darme algun consejo? te estaria eternamente agradecida :-)
    Gracias por tu timepo de todas formas!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.