Silverlight:就是一个IE浏览器

自从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开发。

时间: 2025-01-30 17:13:29

Silverlight:就是一个IE浏览器的相关文章

使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库

使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库-服务器段功能实现 17.3 服务器端代码实现 服务器端的功能是将数据保存到数据库,以及从数据库中取出xml描述文件返回给客户端.本文使用LINQ to SqClasses的方法对数据库进行操作.如下图所示,增加一个linq的类 然后在左边的数据库链接管理器中,增加一个数据库链接,如下图所示:

使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库

使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库-设计webservices接口 在开始之间,先说下程序增加的一个小功能,就是给容器增加网格线的功能,使得容器看上去类似下面的样子 当然可以有两种方法来实现,一种就是使用背景图片,但本文一贯的原色就是少用图片,多用silverlight的画图功能来实现,这些网格都可以使用xaml中的Line对象来实现.为此我们需要动态设定一个Canvas,然后把这些动态生成的Line对象添加到Canvas中,最后再把Canvas添加到容器

ie-获得一个安全浏览器的IHTMLDocument2失败

问题描述 获得一个安全浏览器的IHTMLDocument2失败 第一步 WM_HTML_GETOBJECT 没问题返回正常 第二步 SendMessageTimeout 返回正常 但是 IpdwResult 却是0 代码肯定没问题 因为在ie下测试没问题通过了,但是一拿到安全浏览器测试就是上面的结果,请问它用了什么方法 有什么好方法突破,bho估计行不通因为估计也禁止加载了 解决方案 不知道你想做什么,建议你直接抓包,安全浏览器里做了一些限制,会封一些消息 解决方案二: 不知道你想做什么,建议你

bmp jpg-用mfc做一个图像浏览器,时间比较紧,又是新手,求要自学什么东西,能最快能做出来。

问题描述 用mfc做一个图像浏览器,时间比较紧,又是新手,求要自学什么东西,能最快能做出来. 做一个图像浏览器,可以打开bmp和jpg图像,并作简单的显示,学什么东西最快,需要掌握什么东西?求大神指教. 解决方案 这个简单,随便找本入门的书看看就可以.用向导生成一个sdi界面框架,只要重写下onopen,里面加上打开文件对话框获取文件名,在ondraw中用gdi画出图片在窗口里就可以了. 甚至,你还可以google一些现成的代码,这种程序大把. 解决方案二: 用cximage类绑定到pictur

用netbeans做一个网页浏览器,

问题描述 用netbeans做一个网页浏览器, 要实现的功能很简单,要有历史记录显示和数钱的添加,可是一直出现问题,求各位大神帮帮忙. private void File_exitActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); // TODO add your handling code here: } private void HTMLActionPerformed(java.awt.event.ActionE

一个Tor浏览器0day漏洞价值100万美元,其中的隐情是……

本文讲的是一个Tor浏览器0day漏洞价值100万美元,其中的隐情是--, 据外媒报道称,Zerodium(一家专门购买和转售零日漏洞的公司)近日刚刚宣布,它愿意为Tails Linux和Windows操作系统上流行的Tor浏览器可用零日漏洞支付高达100万美元的赏金. Tor浏览器用户应该将该消息作为一个早期预警,尤其是那些使用Tails操作系统来保护其隐私的用户.此外,该零日漏洞收购平台也在其网站上发布了一些规则和支付细节,宣布其对"未使用JavaScript"的Tor漏洞的收购价

view3dscene 3.10.0发布 一个VRML浏览器

view3dscene一个VRML浏览器(1.0和2.0)可查看X3D和其他三维模型格式(3DS,MD3,Wavefront OBJ和COLLADA的使用).它支持查看中的"检查"模式的场景,在虚拟世界中行走,如碰撞检测和重力特性.使用OpenGL绘制完成.可用许多先进的3D图形效果,像镜子(平面,并通过立方环境映射),阴影(阴影贴图和阴影卷),GLSL着色器等等.该方案还可以转换3DS,MD3,COLLADA等格式文件,X3D和打印漂亮的VRML和X3D文件. view3dscene

IceWeasel 5.0发布 一个网络浏览器

Iceweasel是一个网络浏览器,是http://www.aliyun.com/zixun/aggregation/29851.html">Mozilla Firefox浏览器的Debian再发布 版. 从Debian Linux 4.0开始,Debian Linux均默认安装Iceweasel. 安装说明: # apt-get updateGet:1 http://your.favorite.mirror sid 920.html">Release.gpg [378B]

使用silverlight构建一个图形化流程设计器(一)

前言 Silverlight发布已经很久了,具体是什么就不多说,大家一定很清楚.最关心的就是其中的跨浏览器能力,以及强大的用户界面表现能力.于是决定使用它来实现一个流程设计工具,以替代以前的流程设计器(原来是用vml实现,只能在IE浏览器上工作),因为第一次接触silverlight,在学习.工作的过程中肯定会遇到很多的问题,将这个学习新知识.解决问题的过程记录下来,肯定能找到许多志同道合的朋友,也请大家抱着这种态度阅读本文. 本文主要讲述使用vs.net2008开发一个基于silverligh