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"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50401.0" />
<param name="autoUpgrade" value="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" style="border-style:none"/>
</a>
</object>
<param name="initParams" value="CategoryId=1" /> 
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();
}
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中的脚本资源,实现自身的样式等修改

function InvokePlayer(videoId) {
document.getElementById("divCategory").style.display = "none";
var player = document.getElementById("divPlayer");
player.style.width = "100%";
player.style.height = "600px";
}
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…
 

本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/586516,如需转载请自行联系原作者

Silverlight与HTML双向交互相关推荐

  1. Silverlight.XNA(C#)跨平台3D游戏研发手记:(七)向Windows Phone移植之双向交互

    继完成游戏主体框架搭建后,接下来我将通过SL.XNA模式中Silverlight控件与XNA对象之间双向交互操作的例子,向大家进一步讲解框架的拓展使用及简单的承载演示.在此之前大家需要理解Window ...

  2. 稳扎稳打Silverlight(13) - 2.0交互之鼠标事件和键盘事件

    [索引页] [×××] 稳扎稳打Silverlight(13) - 2.0交互之鼠标事件和键盘事件 作者:webabcd 介绍 Silverlight 2.0 人机交互:响应用户的鼠标操作和键盘操作 ...

  3. 安卓Android与H5双向交互MathJax展示数学公式(源码+解析)

    安卓Android与H5双向交互MathJax展示数学公式(源码+解析) 博主就今天周五又做了个需求(安卓Android与H5交互),原来上线的功能是服务器配置过来的学习报告(一个H5页面)并提供原始 ...

  4. android Echart力图webview,包含双向交互内容

    android Echart力图webview,包含双向交互内容 H5界面代码 <!DOCTYPE html> <html> <head><title> ...

  5. 电子白板和计算机通过什么链接,交互式电子白板实现了白板与计算机之间的双向交互通信与操...

    <交互式电子白板实现了白板与计算机之间的双向交互通信与操>由会员分享,可在线阅读,更多相关<交互式电子白板实现了白板与计算机之间的双向交互通信与操(43页珍藏版)>请在人人文库 ...

  6. 绝大多数交互式电子白板与计算机通过链接,交互式电子白板实现了白板与计算机之间双向交互通信与操.ppt...

    交互式电子白板实现了白板与计算机之间双向交互通信与操 二.交互式电子白板作用 增强了师生互动,提高学生兴趣 通过互联网可进行远程教学,实现资源共享 三.交互式白板的功能 黑板的替代品板书.绘图. 辅助 ...

  7. ARM调试(2):在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互

    在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 文章目录 在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 1. ...

  8. 绝大多数交互式电子白板与计算机通过链接,交互式电子白板实现了白板与计算机之间的双向交互通信与操.ppt...

    交互式电子白板实现了白板与计算机之间的双向交互通信与操 二.交互式电子白板作用 增强了师生互动,提高学生兴趣 通过互联网可进行远程教学,实现资源共享 三.交互式白板的功能 黑板的替代品板书.绘图. 辅 ...

  9. 分享Silverlight/WPF/Windows Phone一周学习导读(3月1日-3月5日)

    休假一个月,没有更新Silverlight/WPF/Windows Phone学习导读.从本周开始继续分享每周最新的Silverlight/WPF/Windows Phone开发学习导读. 本周Sil ...

最新文章

  1. 委托、事件、事件访问器
  2. Leetcode 187. 重复的DNA序列 解题思路及C++实现
  3. boost::fusion::tuple用法的测试程序
  4. 使用率激增250%,这份报告再次将 Serverless 推向幕前
  5. Mockito框架学习之stub then return
  6. 你绝对干过的15件傻事儿
  7. Hadoop HA 深度解剖
  8. 分页条件查询_mongodb多条件分页查询的三种方法
  9. DS博客作业03--栈和队列
  10. 与吴恩达并肩战斗,她是颜值爆表的 AI 科学家!
  11. js如何获取window.location.href跳转后查询字符串的值?
  12. 【转载】 C#中使用int.TryParse方法将字符串转换为整型Int类型
  13. html video拖放设置,HTML5新特性以及video和audio标签和拖放笔记
  14. 十进制与二进制、八进制、十六进制对照表
  15. 怎么打开微信的定位服务器地址,打开微信附近的人经常看到无法确定你的位置信息是怎么回事...
  16. 值得推荐的Vue 移动端UI框架
  17. c语言的链表ppt,C语言链表详解.ppt
  18. java多个文件压缩成zip文件
  19. R语言length()和lengths()的区别
  20. Binary Knapsack (BKP) Problem 是什么

热门文章

  1. HTTP错误404.3-Not Found
  2. JS function立即调用的几种写法
  3. SQL:将查询结果插入到另一个表的三种情况
  4. 总结一些linux目录结构和终端命令
  5. Struts1之Action小结
  6. mysql导出bacpac_数据库的迁移
  7. MySQL常见函数介绍
  8. MySQL高级 - 锁 - InnoDB行锁 - 总结
  9. 初始Docker-Docker和虚拟机的差别
  10. 文件下载的文件名中文乱码