locked
Como mostrar una pagina XAML - No es con .Show? RRS feed

  • Pregunta

  • Hola, tengo una pagina XAML en mi aplicación Windows Phone, y ahí tengo un botón que quiero que me mande llamar a otra pagina, otro XAML. ¿Como lo puedo llamar? En winforms solo basta con declarar el objeto y escribir su método .Show() aquí como es?

    Gracias!

    lunes, 2 de abril de 2012 23:09

Respuestas

  • Ten en cuenta que la programación para Windows Phone es muy similar a la programación Web y para navegar a otra página debes usar NavigationService.Navigate y pasarle la Uri de tu página

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

    • Propuesto como respuesta Josue YerayMVP martes, 3 de abril de 2012 6:39
    • Marcado como respuesta Víctor Moreno miércoles, 4 de abril de 2012 2:53
    martes, 3 de abril de 2012 4:43

Todas las respuestas

  • Ten en cuenta que la programación para Windows Phone es muy similar a la programación Web y para navegar a otra página debes usar NavigationService.Navigate y pasarle la Uri de tu página

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

    • Propuesto como respuesta Josue YerayMVP martes, 3 de abril de 2012 6:39
    • Marcado como respuesta Víctor Moreno miércoles, 4 de abril de 2012 2:53
    martes, 3 de abril de 2012 4:43
  • Woow! Tienes toda la razón, se me vino una cuestión, si a esa nueva pagina necesito enviarles algunos objetos o variables como le hago?? NO puedo hacer una especie de consctructor??? :S Por que de esa forma no veo como pasarle los datos.

    Gracias!

    martes, 3 de abril de 2012 22:56
  • Hola tienes de dos formas una es pasar parametros en la Uri esto seria:

    this.NavigationService.Navigate(new Uri("/Pagina.xaml?param1=" +parametro.ToString()), UriKind.Relative));
    //contemplando que la variable parametro tiene el valor deseado


    otra, creando variables Globales, llenarlos desde la pagina origen y tomarlos desde la pagina destino

    //codigo origen
    private void Button_Click(object sender, EventArgs e)
    {            proyecto.Fuentes.Dato= variable1;
    
                NavigationService.Navigate(new Uri("/Page.xaml", UriKind.Relative));
    }
    
    //codigo destino
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
            if(proyecto.Fuentes.Dato!=null)
            {
                variableLocal=proyecto.Fuentes.Dato;
            }
    }

    Tercera, si usas MVVM

    http://social.msdn.microsoft.com/Forums/es-ES/windowsphone7/thread/9f35b634-0120-4005-bd31-98e3528de144

    http://social.msdn.microsoft.com/Forums/es-ES/windowsphone7/thread/34f99a7c-bad4-4c49-bba7-99cd6fb8e675

    Espero te ayude ;)


    • Editado Bazookao miércoles, 4 de abril de 2012 0:49
    miércoles, 4 de abril de 2012 0:48