Paso de parámetros a una aplicación Silverlight

Anteriormente creamos un ejemplo de una aplicación Silverlight y de cómo se incluía dentro de una página web mediante HTML, veíamos que uno de los parámetros del objeto es la ruta donde se encuentra su archivo .xap, entonces, ¿Es posible pasarle parámetros al proyecto Silverlight?, la respuesta es sí.

Supongamos que se desea mostrar una aplicación Silverlight en alguna pagina web, la aplicación debe mostrar una animación fija, pero también debe mostrar el nombre de usuario que esta autenticado en dicha pagina, este es dato variable, dependiendo de qué usuario este dentro de la pagina. En este contexto se tomaría del servidor el nombre de usuario actual, y este dato se pasaría como parámetro a Silverlight, para que este lo muestre.

¿Cómo se soluciona este problema?, a continuación se explica lo que se debe hacer para agregar parámetros a la llamada del objeto Silverlight.

1. Una vez creado el proyecto Silverlight, veremos en el explorador de soluciones los archivos App.xaml y MainPage.xaml, dentro de App.xaml se encuentra el archivo App.xaml.cs, en este archivo localizamos el método Application_Startup(object sender, startupEventArgs e) y dentro de el, agregar los parámetros:

private void Application_Startup(object sender, StartupEventArgs e)
{
      // parámetro llamado nombre
      string n = e.InitParams["nombre"];     
      //Pasar a la página principal como parámetro  
      this.RootVisual = new MainPage(n);   
}

2. Dentro de MainPage.xaml buscamos el archivo MainPage.xaml.cs, lo abrimos y modificamos el constructor para recibir el parámetro y dentro del constructor hacemos los cambios a la aplicación:

public MainPage(string nombre)
{
  InitializeComponent();

  //En Silverlight debemos tener un textbox para mostrar el nombre
  textbox.Items.Clear();
  textbox.Items.Add(nombre);
}

3. Al momento de incluir el objeto, agregamos el parámetro:

<object data=”data:application/x-silverlight-2,” type=”application/x-silverlight-2″ width=”100%” height=”920px”>
<param name=”source” value=”../ClientBin/Calendario.xap?ignoreme=<%=System.DateTime.Now.ToUniversalTime() %>”/>
<param id=”init” name=”initParams” value=”rpe=<%=Session[“Usuario”] %>, rol=<%=Session[“Rol”] %>” />
<param name=”onError” value=”onSilverlightError” />
<param name=”background” value=”white” />
<param name=”minRuntimeVersion” value=”5.0.61118.0″ />
<param name=”autoUpgrade” value=”true” />
<a href=”http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0” style=”text-decoration:none”>
<img src=”http://go.microsoft.com/fwlink/?LinkId=161376” alt=”Obtenga Microsoft Silverlight” style=”border-style:none”/>
</a>
</object><iframe id=”Iframe1″ style=”visibility:hidden;height:0px;width:0px;border:0px”></iframe&gt;

Gracias

Deja un comentario

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

Límite de tiempo se agote. Por favor, recargar el CAPTCHA por favor.