RSS
热门关键字:  故障  安装  错误  蓝屏  声音方案

Silverlight:就是一个IE浏览器

来源:互联网 作者:转载 时间:2008-10-21 Tag: 点击:
 自从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开发。


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册