静态HTML页面是在客户端由浏览器实现插件初始化。

服务器端页面:使用自带的Silverlight控件,由于这些控件在ASP.NET中的调用和运行都依赖于ASP.NET AJAX的JavaScript扩展,因此在向Web页面添加控件之前,必须先声明ScriptManager,从而使用服务器能向客户端发送正确的脚本。

asp:silverlight标记有3个重要的属性,第1个是Source属性,用于设置希望显得Silverlight应用程序的Url,允许的值可 以是预编译的xap包,或XAML文档;另一个重要的属性是MinimunVersion,用于获取或设置运行Silverlight应用程序所需的最低 插件版本;第3个ScriptType属性表示与当前插件关联的客户端Javascript对象类型名称。

当source属性值指向的是xap时,ScriptType属性将不会发挥任何作用。同时建议MinimunVersion也应该高于2.0。如果用户 浏览器插件的版本低于MinimunVersion属性值,则应用程序不仅不能初始化,而且插件还会自动弹出更新提示对话框,这种方式有利于保证用户能正 常使用应用程序的所有功能。

****System.Web.Silverlight.dll文件了,到这里下载,然后将其添加到项目引用中去.****

当开发人员使用预编译应用程序集时,只需向页面注册Silverlight程序集和命名空间,并配置控件标记的前缀,接下来就可以使用asp:Silverlight。

<%@ Page Language="C#" %>

<%@ Register Assembly="System.Web.Silverlight"
             Namespace="System.Web.UI.SilverlightControls"
             TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
<head runat="server">
    <title>SilverlightApplication1</title>
</head>
<body style="height:100%;margin:0;">
    <form id="form1" runat="server" style="height:100%;">      
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <%--<Scripts>
            <asp:ScriptReference Name="SilverlightControl.js" Assembly="System.Web.Silverlight" />
            <asp:ScriptReference Path="Silverlight.js" />
        </Scripts>--%>
        </asp:ScriptManager>
      
        <div  style="height:100%;">      
            <asp:Silverlight ID="Xaml1"
            runat="server"
            Source="~/ClientBin/SilverlightApplication1.xap"
            MinimumVersion="2.0.31005.0"
            Width="400"
            Height="300" />
          
        </div>
    </form>
</body>
</html>

无论是使用静态的HTML页面和ASP.NET页面,Silverlight的初始化都是在客户端完成的,而不是在服务器端,在客户端使用JS代码解析创建Object对象,配置相应的属性和参数。

PS:将文中的JS脚本注释后,仍可正常运行,但将Width和Height修改为百分比后,出现空白,不知是何原因,继续探究中....

posted on 2012-06-06 23:02  sapling  阅读(3073)  评论(0编辑  收藏  举报