Autor Beitrag
danibert
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 21.12.10 18:36 
Hallo zusammen,

ich fange gerade an, mich mit C# und Silverlight zu befassen und habe auch schon die erste Frage:
Ich kenne es bisher von Flash, dass man beim Einbinden des Flashfilmes Parameter übergeben kann, indem man im HTML-Code etwas in der Art schreibt: ....flashfilm.swf?param=blabla
Im Flashfilm steht dann automatisch die beim Einbinden angegebene Variable param zur Verfügung und kann beliebig genutzt werden. Gibt es mit C#/Silverlight ähnliche Möglichkeiten?
Wie könnte man das realisieren?

Danke im Voraus
herzmeister der welten
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 15.01.11 00:44 
Da hast du gleich einen großen bunten Blumenstrauß an Möglichkeiten.

Die gebräuchlichste Art und Weise dürfte wohl die initParams-Variante im object-Tag sein:

ausblenden Quelltext
1:
<param name="initParams" value="nachname=hendrix, vorname=jimi, todesdatum=18.9.1970" />					


Damit kannst du auf diese Werte im Application_StartUp Event in der app.xaml.cs zugreifen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
private void Application_Startup(object sender, StartupEventArgs e)
{
    var myInitParams = e.InitParams;
    //...

    this.RootVisual = new MainPage();
}


Du kannst aber auch jederzeit über das Application-Object zugreifen.

ausblenden Quelltext
1:
var myInitParams = Application.Current.Host.InitParams;					


Desweiteren kann Silverlight natürlich den aktuellen Query-String oben in der URL auswerten:

ausblenden Quelltext
1:
var myQueryStringMap = System.Windows.Browser.HtmlPage.Document.QueryString;					


Auch wenn man das PlugIn mit myApp.Xap?values=123&someMore=456 aufruft, steht das in:

ausblenden Quelltext
1:
var hostQueryString = Application.Current.Host.Source.Query;					


Allerdings muss man das hier dann dummerweise selber parsen.