Silverlight与HTML双向交互

Silverlight与HTML双向交互,第1张

概述Silverlight具备很好的用户体验,但有时需要在页面的布局上进行特殊处理,比如作为webpart集成到Sharepoint中等等。 HTML和Silverlight之间的双向交互可以更灵活的使用Silverlight进行开发,上午摸索了一下,记录在此。 一,向Silverlight传递数据,实现个性化加载 Silverlight在HTML中的引用是: <object data="data:a

Silverlight具备很好的用户体验,但有时需要在页面的布局上进行特殊处理,比如作为webpart集成到Sharepoint中等等。

HTML和Silverlight之间的双向交互可以更灵活的使用Silverlight进行开发,上午摸索了一下,记录在此。

一,向Silverlight传递数据,实现个性化加载

Silverlight在HTML中的引用是:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" wIDth="100%" height="100%">param name="source" value="ClIEntBin/VIDeoCenter.xap"/>"onError" "onSilverlightError" "background" "white" "minRuntimeVersion" "4.0.50401.0" "autoUpgrade" "true" a href="http://go.microsoft.com/fwlink/?linkID=149156&v=4.0.50401.0" style="text-decoration:none"img src="http://go.microsoft.com/fwlink/?linkID=161376" alt="Get Microsoft Silverlight" "border-style:none"</aobject>这种引用插件的方式提供了一系列的参数来实现个性加载,上面的代码中我们加了一行参数
"initParams" "categoryID=1" /> 
我们可以在Silverlight中处理这些参数,打开Silverlight应用程序的App代码文件,加上接收参数的代码
private voID Application_Startup(object sender,StartupEventArgs e){if (e.InitParams.Count != 0){foreach(var item in e.InitParams){this.Resources.Add(item.Key,item.Value);}}this.RootVisual = new MainPage();}我们看到对e.InitParams的处理,即可得到了HTML中传进来的参数,实现个性化加载:
if(App.Current.Resources["categoryID"]!=null){int cateID = int.Parse(App.Current.Resources["categoryID"].ToString());categoryItem c = new categoryItem();c.categoryID = cateID;this.grIDOfList.Children.Add(c);}
二,Silverlight调用HTML中的脚本资源,实现自身的样式等修改
首先我们可以在加载Silverlight组件的页面上编写一段JavaScript脚本
function InvokePlayer(vIDeoID) {document.getElementByID("divcategory").style.display = "none";var player = divPlayer");player.style.wIDth = "100%";player.style.height = "600px";}
怎么在Silverlight中调用这个脚本呢?我们可以在某个事件中调用Silverlight提供的类方法
System.windows.browser.HTMLPage.Window.Invoke("InvokePlayer",vIDeoID);
当然类似的方法还有几个:
(HTMLPage.Window.GetProperty("InvokePlayer") as ScriptObject)InvokeSelf("Good Function!");
HTMLPage.Window.Eval("document.getElementByID('result')") as HTMLElement…即可实现调用脚本。
 
经过以上的两个方法即可实现HTML和Silverlight之间双向传递数据的功能。
总结

以上是内存溢出为你收集整理的Silverlight与HTML双向交互全部内容,希望文章能够帮你解决Silverlight与HTML双向交互所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1075964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存