Silverlight 是一种新的 Web 呈现技术,能在各种平台上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽的交互式体验,而且,无论是在浏览器内、在多个设备上还是在桌面操作系统(如 Apple Macintosh)中,您都可以获得这种体验。Microsoft .NET Framework 3.0(Windows 编程基础结构)中的呈现技术 XAML(可扩展应用程序标记语言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈现功能的基础。
本白皮书将逐步引导您了解 Silverlight 的基本情况,以及如何使用 Microsoft 的众多工具(包括 Microsoft Expression Blend、Microsoft Visual Studio 2005 和 XAML)来构建内容丰富的图形站点。首先,让我们了解一下 Silverlight 发展历程的相关背景信息,以及它在开发领域所处的位置。
Silverlight 2.0如何发布?
在1.1版本中,Silverilght是dll文件请求!在Silverlight2.0的Silverlight sdk 2.0 beta for Visual Studio 2008插件和Blend 2.5中生成后在项目的“bin\Debug”目录下出现一个xap(XAP读为Zap)文件。这是一个压缩文件,里面并没有您写的XAML文件,而是直接生成了DLL后由Silverlight插件直接运行。
Silverlight beta 2.0中在ASP.NET工具框中添加了一个组为“www.ad0.cnSilverlight Controls”,里面增加了两个控件“Silverlight”和“MediaPlayer”。其中Silverlight控件的Source属性制定的xaml、xap文件。这个控件需要一个ScriptManager控件支持。然后直接浏览就可看到浏览效果。代码是:复制内容到剪贴板代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Silverlight ID="Silverlight1" runat="server" Height="283px" Source="~/wpfhomeloading.xap" Width="600px" /> 您还可以直接输出HTML标记的object标记打开xaml和xap文件,实现浏览器中的ActiveX插件直接运行!但这种方法由灵在此不是推荐的方法,因为有些浏览并不直接object或焦点激活问题。代码如下:复制内容到剪贴板代码:
<object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%">
<param name="source" value="wpfhomeloading.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<!--如果Silverlight插件没有安装时浏览器呈现的HTML部分!-->
<a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
<!--结束-->
</object>
Silverlight运行环境 - 分析Silverlight运行环境
Silverlight.js文件
此文件由Silvelright SDK提供,可在Blend2新建项目后跟目录下面找到,也可使用VisualStudio中Silverlight模板中找到。他的主要责任就是在浏览器中创建Silverlight的ActiveX插件。并会检测客户端是否有支持版本的Silverlight插件,如果没有找到会输出下载链接代码(在此您可以改不支持时输出的代码)。由不同的 浏览器执行和输出不同的代码。并他建一个Silverlight Javascript对象。
一个页面只在需引用一次Silverlight.js文件,您可以打开进行学习javascript脚本语言,因为由灵感觉此脚本对www.ad0.cn自己有很大的帮助哈。页面会在Load以后的调用Silvelright.createObjectEx方法创建Silvelright ActiveX插件。传入对象如下:复制内容到剪贴板代码:
Source:”Page.xaml”, //指定的XAML和XAP文件URL访问地址
parentElement: //要插入的DIV容器对象,
id:”SilverlightControlID” //要创建控件的ID
properties:{
width:”100%”, //宽
height:”100%”, //高
version:”1.0”, //中间会把source+到properties里
enableHtmlAccess:” true” //是否Silvelright与浏览器交互,默认true
};
Event:{
onLoad:Silverlight.createDelegate(scene,sene.handleLoad)
};Default.html
这个文件是一个HTML页,关联着Silvelright.js文件,在此文档中Onload事件中将调用CreateObjectEx方法,一般VisualStudio和Blend工具会把此代码放入Default.html.js文件中。
<object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%">
<param name="source" value="ClientBin/wpfhomeloadding.xap"/><!--要打开的XAML和XAP文件-->
<param name="onerror" value="onSilverlightError" /><!--Error事件时触发的方法-->
<param name="background" value="white" /><!--背景颜色-->
<!--如果客户端没有安装Silverlight出现的安装信息-->
<a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>