Silverlight技术调查(1)——Html向Silverlight传参

原文 Silverlight技术调查(1)——Html向Silverlight传参

近几日项目研究一个很牛的富文档编辑器DXperience RichEdit组件,调查环境为Silverlight4.0,应用服务器为Tomcat6.20,组件版本为11.1,因为项目此需求已被终止,将一些心得及部分成果(与项目无关的)公开,希望对需要的同仁有帮助。

只写具体结果,相关参考大家可以在网上查相关资源,比如Silverlight基础、MSDN、DXperience官网、或其它相关资源,不再赘述。

 

关键参数:initParams,参数以逗号分隔,若需传逗号需要自行编码(MSDN如是说)。

HTML代码:

 

[html] view plaincopy
 
  1. <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  
  2.           <param name="source" value="RichEdit.xap"/>  
  3.           <param name="onError" value="onSilverlightError" />  
  4.           <param name="background" value="white" />  
  5.           <param name="minRuntimeVersion" value="4.0.50826.0" />  
  6.           <param name="autoUpgrade" value="true" />  
  7.           <param name="culture" value="ja" />  
  8.           <param name="uiculture" value="ja" />  
  9.           <param name="initParams" value="arg0=第一个参数,arg1=第二个参数" />  
  10.           <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">  
  11.               <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/>  
  12.           </a>  
  13.         </object>  


Silverlight代码-将参数放入Resources中-App.xaml.cs:

 

 

[csharp] view plaincopy
 
  1. private void Application_Startup(object sender, StartupEventArgs e)  
  2.        {  
  3.            if (e.InitParams != null)  
  4.            {  
  5.                foreach (var item in e.InitParams)  
  6.                {  
  7.                    this.Resources.Add(item.Key, item.Value);  
  8.                }  
  9.            }   
  10.   
  11.            this.RootVisual = new MainPage();  
  12.   
  13.        }  

Silverlight代码-根据Key取相应参数-MainPage.xaml.cs:

 

 

[csharp] view plaincopy
 
    1. private string GetParam(string p)  
    2.        {  
    3.            if (App.Current.Resources[p] != null)  
    4.            {  
    5.                return App.Current.Resources[p].ToString();  
    6.            }  
    7.            else  
    8.            {  
    9.                return string.Empty;  
    10.            }  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。