首页  ·  知识 ·  移动开发
Silverlight应用程序的.NET项目结构
佚名  yesky  Wphone  编辑:dezai  图片来源:网络
无论是Silverlight 1.0还是1.1版本,一个Silverlight项目总是包含以下几种文件:   1、嵌入Silverlight应用程序的html文件。   2、用来

无论是Silverlight 1.0还是1.1版本,一个Silverlight项目总是包含以下几种文件:

  1、嵌入Silverlight应用程序的html文件。

  2、用来执行Silverlight应用程序载入工作的javascript文件。

  3、定义和描述应用程序界面的XAML文件。

  如果是.NET的项目,界面描述中所定义的新类型都包含在程序集(assembly)文件中。

  我们可以用Microsoft Expression Blend 2 (目前最新的预览版本是September Preview)或者Visual Studio 2008 Beta2 (需安装好Silverlight Tool Alpha)来创建一个新.NET的项目。创建成功后,我们就可以看到一个Silverlight的.NET项目包含了如下的目录结构:

  References目录

  查看该目录,我们可以看到其中包含了许多(.dll)文件,这些文件定义了项目中所引用的各托管类型。如果我们要使用其他自定义的类型,就可能需要手动添加包含该类型定义的.dll文件。若Silverlight插件中没有包含项目所引用的某些程序集文件,则应用程序用户需要下载这些程序集文件到本地。

  Page.xaml

  项目默认的主界面的XAML描述文件。

  Page.xaml.cs

  每个xaml文件之后都有一个对应的.NET语言文件。由于我们创建的是C#项目,所以其对应的文件为.cs文件。这个文件对.xaml文件中的所引用的.NET类型做了定义。通过编译之后,项目会生成程序集文件,供.xaml文件引用,且该程序集文件会随Silverlight应用程序一起下载到用户本地。

  Silverlight.js

  该文件包含了运行Silverlight应用程序之前所必需的各种操作,主要检查用户是否安装了符合版本需求的Silverlight。如果没有安装,则Silverlight应用程序所在的页面将会显示图标,提示用户先安装插件。这里我们不建议Silverlight的开发设计人员改变该.js文件的内容。

  TestPage.html(Blend 2中创建的文件名为Default.html)

  该文件为项目的默认主页,文件中引入了Silverlight的脚本文件来载入Silverlight应用程序。

  TestPage.html.js(Blend 2中的文件名为Default_html.js)

  该文件中定义了TestPage.html中调用的CreatSilverlight()方法来载入Silverlight应用程序。

  让我们再具体的看一看其中一些文件所包含的内容:

  TestPage.html

   以下是引用片段:



    Silverlight Project Test Page
   
   
   


   
   


       
   



 


  TestPage.html.js

以下是引用片段:
  
//creatSilverlight函数用来执行载入Silverlight应用程序的操作及相关属性
function createSilverlight()
{
 Silverlight.createObjectEx({
  //指定了初始化载入的应用程序页面
  source: "Page.xaml",
  parentElement: document.getElementById("SilverlightControlHost"),
  id: "SilverlightControl",
  properties: {
   width: "100%",
   height: "100%",
   version: "1.1",
   enableHtmlAccess: "true"
  },
  events: {}
 });
   
 // 下面的函数是默认将键盘焦点集中在Silverlight应用程序上
    document.body.onload = function() {
      var silverlightControl = document.getElementById('SilverlightControl');
      if (silverlightControl)
      silverlightControl.focus();
    }
}
 


  Page.xaml

   以下是引用片段:


        xmlns="http://schemas.microsoft.com/client/2007"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      
        Loaded="Page_Loaded"
      
        x:Class="SilverlightProjectStructure.Page;assembly=ClientBin/SilverlightProjectStructure.dll"
        Width="640"
        Height="480"
        Background="White"
        >


  注意:由于Silverlight 1.1还处于Alpha版本,.NET语言中关于Silverlight的一些API可能会与将来的正式版本中有些出入,但是大多数基本的东西还是不变的。

本文作者:佚名 来源:yesky
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读