Hoje vamos dar uma olhada em uma maneira prática de passarmos informações para um aplicativo Silverlight – o initParams. O initParams é muito semelhante ao flash vars usado no Flex e no Flash.
As informações do initParams é definido no código HTML onde inserimos o aplicativo Silverlight, como parâmetro dentro da tag object do Silverlight. Você pode declarar quantos parâmetros você quiser desde que eles sejam passados para o aplicativo Silverlight como um dicionário de string em pares, ou seja, devemos informar a ‘variável’ e o ‘valor de atribuição’ <string, string>. Dê uma olhada no exemplo abaixo:
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="400" height="200"> <param name="source" value="aplicativo.xap"/> <param name="minRuntimeVersion" value="2.0.31005.0" /> <param name="autoUpgrade" value="true" /> <param name="initParams" value="animalFavorito=cachorro"/> <a href="http://go.microsoft.com/fwlink/?LinkID=124807"><img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"/></a> </object> <code>
Para informar mais de 1 parâmetro, basta separarmos por vírlgula. Segue abaixo:
<param name="initParams" value="animalFavorito=cachorro,corFavorita=amarelo,comidaFavorita=lasanha"/> <code>
Agora que já informamos os dados para o aplicativo Silverlight é hora de fazermos chegar esses dados dentro do aplicativo. Quando você cria um novo aplicativo do Silverlight, Visual Studio irá criar quatro arquivos para você: App.xaml, App.xaml.cs, Page.xaml e Page.xaml.cs.
Abra o App.xaml.cs para passar o dicionário na página onde será instanciado.
private void Application_Startup(object sender,StartupEventArgs e)
{
this.RootVisual = new Page(e.InitParams);
}
Após isso, alteraremos o construtor da página em Page.xaml.cs para que ela aceite o dicionário e pronto, você já poderá trabalhar com seus parâmetros informados na página do aplicativo. Veja exemplo abaixo:
using System.Collections.Generic;
public partial class Page : UserControl
{
public Page(IDictionary<string, string> initParams)
{
InitializeComponent();
_TextField.Text = "Meu animal favorito é o: " + initParams["animalFavorito"];
_TextField2.Text = "A cor que mais gosto é: " + initParams["corFavorita"];
_TextField3.Text = "A melhor comida do mundo é " + initParams["comidaFavorita"];
}
}
Bom, por enquanto é isso pessoal. Espero que tenha gostado dessa dica…
Parece simples mas eu gosto!
Abs!

Show de bola Craiton!
Hey Klééééééééston,
Muito interessante sua série de artigos. Manda ver garoto!
Opa!!! E aí Klaytãooo!!!rsrsrs
Cara, sou Administrador, não entendi nada dessa matéria…hahahaha…mas continua que tá indo bem!!!hehehehehe
Um abraço, Adriel