Cómo referenciar desde ASP.NET a diferentes controles Silverlight

Hola,

Si queremos utilizar controles Silverlight propios desde páginas asp.net nos encontramos con el problema de cómo acceder a diferentes controles Silverlight con una sola referencia al proyecto.

Una vez hemos añadimos un nueva referencia de un proyecto asp.net al proyecto donde tenemos los controles Silverlight no parece haber opción de elegir si queremos ver el control1.xaml o el control2.xaml. Por suerte podemos utilizar la propiedad “InitParameters” para enviar información de qué control queremos ver.

Añadimos el control Silverlight dentro de una página aspx y añadimos en InitParameters una Key llamada PageId con el valor del control que queremos ver.

<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/DemoSilverlightApplication.xap"
            MinimumVersion="2.0.31005.0" Width="100%" Height="100%" InitParameters="PageID=MiControl1" />

Luego, en el proyecto de Silverlight, podemos utilizar InitParameters para instanciar un control u otro en el método Application_Startup del  app.xaml.cs.

El siguiente ejemplo de código muestra cómo acceder a InitParameters y utilizarlo para mostrar cada uno los controles xaml que tenemos disponibles en el proyecto.

private void Application_Startup(object sender, StartupEventArgs e)
        {
            if (e.InitParams.Count > 0)
            {
                switch (e.InitParams["PageID"].ToString())
                {
                    case "MiControl1":
                        this.RootVisual = new Control1();
                        break;
                    case "MiControl2":
                        this.RootVisual = new Control2();
                        break;
                }
            }
        }

Saludos, Garrin.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: