This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: Parameter an Silverlight übergeben
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Wer Silverlight-Anwendungen entwickelt wird sehr schnell zur Anforderung gelangen, der Anwendung Parameter übergeben zu müssen. Seien es Angaben, woher die anzuzeigenden Daten bezogen werden können, bis hin zu Styling-Parametern. Von Flash ist man diesbezüglich ja doch schon einiges gewohnt. Aber auch bei Silverlight ist dies möglich.
Um einer Silverlight-Anwendung Parameter übergeben zu können wurden die Initialisierungs-Parameter (initParams) eingeführt. Diese stellen Key-Value-Paare dar.
Diese Key-Value-Paare sind sehr einfach aufgebaut:
Key und Value werden durch ein = voneinander getrennt
Die einzelnen Key-Value-Paare werden durch ein , getrennt
Hier ein einfaches Beispiel:
website=http://blog.norberteder.com,category=wpf
Die Angabe erfolgt in der Parameter-Tags des Silverlight-Objektes, das eingebunden werden soll. Hier ein Beispiel:
Doch das ist noch nicht alles. Wie kommen die Parameter in die Silverlight-Anwendung?
In der Codebehind-Datei zur App.xaml (App.xaml.cs) werden im Konstruktor einige wichtige Events registriert. Unter anderem auch das Startup-Event der Application. Im Eventhandler sind StartupEventArgs verfügbar, welche Zugriff auf die InitParams erlauben. Darüber können die zuvor deklarierten Parameter abgefragt und für den weiteren Verlauf verwendet werden.
privatevoid Application_Startup(object sender,
StartupEventArgs e)
{
NeededParameters parameters = new NeededParameters();
if (e.InitParams != null && e.InitParams.Count > 0)
{
if (e.InitParams.ContainsKey("website"))
parameters.Website = e.InitParams["website"];
if (e.InitParams.ContainsKey("category"))
parameters.Category = e.InitParams["category"];
}
this.RootVisual = new Page(parameters);
}