天天看點

Silverlight技術調查(1)——Html向Silverlight傳參

近幾日項目研究一個很牛的富文檔編輯器DXperience RichEdit元件,調查環境為Silverlight4.0,應用伺服器為Tomcat6.20,元件版本為11.1,因為項目此需求已被終止,将一些心得及部分成果(與項目無關的)公開,希望對需要的同仁有幫助。

隻寫具體結果,相關參考大家可以在網上查相關資源,比如Silverlight基礎、MSDN、DXperience官網、或其它相關資源,不再贅述。

關鍵參數:initParams,參數以逗号分隔,若需傳逗号需要自行編碼(MSDN如是說)。

HTML代碼:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  

          <param name="source" value="RichEdit.xap"/>  

          <param name="onError" value="onSilverlightError" />  

          <param name="background" value="white" />  

          <param name="minRuntimeVersion" value="4.0.50826.0" />  

          <param name="autoUpgrade" value="true" />  

          <param name="culture" value="ja" />  

          <param name="uiculture" value="ja" />  

          <param name="initParams" value="arg0=第一個參數,arg1=第二個參數" />  

          <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">  

              <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="擷取 Microsoft Silverlight" style="border-style:none"/>  

          </a>  

        </object>  

Silverlight代碼-将參數放入Resources中-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 MainPage();  

       }  

Silverlight代碼-根據Key取相應參數-MainPage.xaml.cs:

private string GetParam(string p)  

           if (App.Current.Resources[p] != null)  

               return App.Current.Resources[p].ToString();  

           }  

           else  

               return string.Empty;  

           }