none
Navegar entre páginas silverlight y pasar información a través de ellas RRS feed

  • Debate general

  • He estado mirando varios topics por internet y me gustaría saber si la opción que utilizo yo es la más apropiada o no...

    Para pasar información de una página a otra lo que hago es declararme en la clase App.xaml.cs una EDA la cual utilizaré en la página que deseo obtener los datos, en mi caso Home.xaml (que hace referencia al boton "Página principal"), en ésta relleno el formulario y cuando le doy al botón de "Aceptar" mediante código voy a mi Applicacion actual y accedeo a mi EDA, instancio una clase que me creado para obtener todos los datos del formulario y siendo un diccionario la EDA añado mi objeto instanciado a esta EDA.

    Luego para navegar de página a página utilizo un HyperlinkButton con la propiedad navigatiUri para definir mi destino navegacional.

    Una vez he navegado a la página destino (en este caso About.xaml) utilizo el evento OnNavigatedTo para añadir toda la información que desee de la consulta anterior ya que mi EDA esta accesible en todo momento mientras la página este activa.

    Añado el ejemplo 

     

    Hay alguna manera mejor para pasar información entre páginas Silverlight ???

     

    Gracias, un saludo!


    My Web with SV4: Promo Video
    Some own developments
    • Editado _vicboma miércoles, 25 de enero de 2012 15:41
    miércoles, 25 de enero de 2012 15:40

Todas las respuestas

  • la mejor forma es con un boton, y en el evento click programas el siguiente codigo:

    string strParametro1="Hola mundo";

    this.Content = new otraPaginaSilver(strParametro1);//estoy abriendo otra pagina silver

     

    y en el constructor de la otra pagina silver, recibis un parametro de tipo string,

    espero te sirva saludos

     


    "La imaginacion es mas importante que el conocimiento." -> Albert Einstein
    miércoles, 25 de enero de 2012 20:56
  • Hola _vicboma

    Al parecer hay varias formas de hacerlo pero esta que te describo me ha dado resultado. Vengo del mundo web y sus marcos y frames donde generalmente quieres ir cargando difentes contenidos.

    Primedo defines un contenedor que hará las veces de marco o frame. Lo puedes definir por diseño o por codigo. Si lo haces por diseño algo asi debe servirte.

    Codigo xaml

          <sdk:Frame x:Name="ContentFrame" Source="{Binding PaginaFrame}">
                       
          </sdk:Frame>

    El Source puedes y no definirlo, va a depender si quieres cargar alguna pagina cuando el frame genere la primera vez y se despliegue al usuario

    Despues, en el evento de algun control(click de un boton por ejemplo), colocas una llamada como esta:

    Codigo C#

         Views.login lg = new Views.login(_parametros);
         this.ContentFrame.Content = lg;

    Donde lg es la pagina que quieres desplegar, _parametros son los datos que le pasas al objeto login lg  y ContentFrame es una referencia al contenedor donde se desplegara la pagina.

    Eso.... esta forma deberia funcionarte :-)

    avisame..

    Robero

     


    Roberto Soto Ingeniero de Sistemas
    jueves, 26 de enero de 2012 14:40