jeudi 19 mars 2009

Passer des paramètres à une application Silverlight à partir d'une page ASP.NET



La Silverlight user Control à une propriété qui s'appelle InitParameters . Vous pouvez lui assigner une valeur sous forme de paire Key-Value à partir de votre application ASP.NET.

Vous pouvez lui passer n'importe quelle chaîne de caractère sous la forme de Key-Value.

Exemple :

ID="Xaml1"

runat="server"

Source="~/ClientBin/MySilverlightApp.xap"

InitParameters="Universite=INSAT=FILIERE=GL5"

Width="300"

Height="300" />

Une autre manière de faire , c'est de passer les paramètres à partir du code-behind .

Xaml1.InitParameters = "Universite=INSAT=FILIERE=GL5";

Nous avons vu comment passer les paramètres et maintenant on va voir comment les lire à partir de notre application Silverlight.

Pour ce faire , Il faut passer par les Application_Startup() de la page App.Xaml

private void Application_Startup(object sender, StartupEventArgs e)

{

IDictionary mesparams= e.InitParams;

this.RootVisual = new Page1();

}

Dans la plupart des cas , vous voulez passer ces paramètres à une page bien spécifique . Cela n'est pas du tout difficile puisqu'il suffit de surcharger le constructeur de la page.

Nous aurons alors le code suivant pour la page1.xaml

private IDictionary parameters = null;

public Page1()

{

InitializeComponent();

}

public Page1(IDictionary p)

{

this.parameters = p;

InitializeComponent();

}

Et maintenant il faut aussi modifier la page App.xaml pour pouvoir passer les paramètres à la page1.xaml

private void Application_Startup(object sender, StartupEventArgs e)

{

IDictionary parameters = e.InitParams;

this.RootVisual = new Page1(parameters);

}

À vous de lire maintenant les paramètres à partir du IDictionnary que vous avez passé.



Aucun commentaire:

Enregistrer un commentaire