惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
罗磊的独立博客
SecWiki News
SecWiki News
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
IT之家
IT之家
博客园 - 聂微东
T
The Exploit Database - CXSecurity.com
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Vercel News
Vercel News
G
GRAHAM CLULEY
D
DataBreaches.Net
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
博客园_首页
雷峰网
雷峰网
T
Tenable Blog
Spread Privacy
Spread Privacy
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - Franky
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
C
CERT Recently Published Vulnerability Notes
T
Threatpost
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
U
Unit 42
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
K
Kaspersky official blog
有赞技术团队
有赞技术团队
B
Blog
腾讯CDC

博客园 - silverlightfans

sql server 获取数据库中每个表的磁盘占用情况 扩招的后果(搞笑版) 数据仓库构建实施方法及步骤(转载) treeview非xml数据源绑定 VS 2008 JavaScript Intellisense for Silverlight google 的百毒视频,巨搞笑啊,不知道是不是真的 国际支付平台又添新成员Amazon FPS asp.net 客户端回调功能的实现机制探讨(响应部分及可能的优化) asp.net 客户端回调功能的实现机制探讨(请求部分) 黎巴嫩的一位mvp写的一篇文章 关于为什么web service 构造函数只能是无参数构造函数问题的解答 Silverlight:动态从服务器端获取XAML来绘制前台 javascript附加事件,ff 和 ie 网易的高级提示功能 asp.net ajax 包装得似乎有些过分 PageMethods未定义 的解决 微软为google修改Vista 最好不要使用百分比宽高来创建silverlight 利用Tiny Framework 从托管代码中直接操作页面的 DOM元素
Silverlight:一个IE浏览器
silverlightfans · 2007-06-19 · via 博客园 - silverlightfans

自从silverlight出来以后,一直在关注这个技术,也参看了他们的一些具体实现代码,给我的一个总体的印象就是silverlight就是一个浏览器!

我觉得浏览器的最主要的3个功能,第一个就是发起和接收http连接,第二解析html,渲染页面效果,第三,集成脚本语言,控制页面元素。第一个功能发起http连接是比较容易的,但是第二个将那些与定义好的tag解析成页面,这就是一个非常核心的技术,我认为也是浏览器开发的一个难点。而silverlight的一个最核心的技术也是这个:将XAML解析,并渲染到界面。不过有一点浏览器的定位很复杂,相对,绝对,浮动,页面版式的变动特别复杂,而silverlight只是用了像素定位,那就简单多了。类似html,XAML把Carvas作为了根节点,然后有按钮标签,文本标签等等,类似于html.还有就是在XAML中调用外部javascript的方法很简单:例如在silverlight的一个媒体元素上,有这样一段标签:

<MediaElement

      x:Name="ouch5"

      Source="assets/ouch5.wma" AutoPlay="false" Width="0" Height="0"

      MediaEnded="javascript:SoundEnded"/>

看看媒体元素的MediaEnded事件是这样直接调用了外部的js函数,再来看看这段js函数是怎样写的:

function SoundEnded(sender,args)

{

    sender.stop();

    sender.position = "00:00:00";

}

这种调用js的机制就和在button的 onclick事件里的没多少区别,并且silverlight更加趋向于.net中的事件处理机制,有发送者对象和事件参数,感觉非常完美。

然后我们再来看看javascript是怎样操作silverlight中的对象的。

silverlight = document.getElementById("agControl1");

这段代码是获取silverlight在页面上的引用,agControl1 是你在使用silverlight脚本创建代码里给它赋值的id.

var button = silverlight.content.findName("button");

这段代码就直接在silverlight中的button控件的引用,然后再对它的属性进行相关操作。

silverlight.content.findName("button");

这句话跟getElementById没有什么区别。

总结:silverlight非常适合于那些从事网页美工,设计师工作的人转来学习silverlight,因为他是基于XAML的,就类似于html,只要你把XAML的里面的标签就像掌握HTML的标签一样掌握了,写起来将非常容易,当然你也可以使用工具expression来可视化编写XAML,就像使用dreamweaver来编写html一样。另外访问操作silverlight编程体验类似于DOM操作,面向对象的访问方式,对网页编程人员来说学习成本非常少,很容易转来从事silverlight开发。