Silverlight传递初始化时的参数

 

1.第一种方式

 

代码
   
     
// 第一种方式
foreach (var item in HtmlPage.Document.QueryString)
{
TextBlock tb
= new TextBlock();
tb.Text
= string .Format( " {0}:{1} " , item.Key, item.Value);
InitParams.Children.Add(tb);
}

2.第二.三种方式前台

代码
   
     
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</ asp:ScriptManager >
< div >
< asp:Silverlight ID ="Silverlight1" runat ="server" Source ="~/ClientBin/InitParams.xap"
InitParameters
="name=hahacjh" Height ="100px" Width ="100px" >
</ asp:Silverlight >
</ div >
<!-- ---------------------------------------或-------------------------------------- -->
< object data ="data:application/x-silverlight," type ="application/x-silverlight-2-b2" width ="100%" height ="100%" >
< param name ="source" value ="ClientBin/InitParams_CS.xap" />
< param name ="onerror" value ="onSilverlightError" />
< param name ="background" value ="white" />
< param name ="initParams" value ="name=tim,lastname=heuer" />
< a href ="http://go.microsoft.com/fwlink/?LinkID=115261" style ="text-decoration: none;" >
< img src ="http://go.microsoft.com/fwlink/?LinkId=108181" alt ="Get Microsoft Silverlight" style ="border-style: none" />
</ a >
</ object >

 

 

第二种方式后台:

代码
   
     
App.xaml.cs
private void Application_Startup( object sender, StartupEventArgs e)
{
if (e.InitParams != null )
{
foreach (var item in e.InitParams)
{
this .Resources.Add(item.Key, item.Value);
}
}
this .RootVisual = new Page();
}
Page.xaml.cs
void Page_Loaded( object sender, RoutedEventArgs e)
{
if (App.Current.Resources.Contains( " name " ))
{
string fname = App.Current.Resources[ " name " ].ToString();
TextBlock tb
= new TextBlock();
tb.Text
= fname;
InitParams.Children.Add(tb);
}
}
第三种方式

代码
   
     
App.xaml.cs
private void Application_Startup( object sender, StartupEventArgs e)
{
string name = string .Empty;
if (e.InitParams.Keys.Contains( " name " ))
{
name
= e.InitParams[ " name " ].ToString();
}
this .RootVisual = new Page(name);
}
Page.xaml.cs
public partial class Page : UserControl
{
string firtName = string .Empty;
public Page( string name)
{
InitializeComponent();
Loaded
+= new RoutedEventHandler(Page_Loaded);
this .Name = name;
}
void Page_Loaded( object sender, RoutedEventArgs e)
{
TextBlock tb
= new TextBlock();
tb.Text
= this .Name;
InitParams.Children.Add(tb);
}
}

 

你可能感兴趣的:(silverlight)