silverlight怎么用:如何来创建一个Silverlight Project

  介绍

  Microsoft Visual Studio Code Name "Orcas" Beta 1 包含模板来创建 基本基于Silverlight托管代码 . 目前支持托管代码有 C# 和 Visual Basic. 在这将介绍通过Visual Studio创建个 Silverlight project .

  要求 :

  Microsoft Silverlight 1.1 Alpha.

  Microsoft Visual Studio Code Name "Orcas" Beta 1.

  Microsoft Silverlight Tools Alpha for Visual Studio Code Name "Orcas" Beta 1.

  什么是个最基本Silverlight Project?

  个根目录下HTML 文件: , 这文件命名为 default.html . Visual Studio 模板使用了 TestPage.html 来命名.这个文件里包含些必须向浏览器申明东东. 它包含基本 Silverlight browser control 和 至少两个 JavaScript 文件,里面会有 SCRIPT 标记 和 SRC 标记,它们都是指向 CreateSilverlight.js 和 Silverlight.js 这两个重要文件(下面会详细介绍这些文件). 这个HTML 文件同样可以包含Silverlight以外其它 HTML 内容 .

  CreateSilverlight.js: 在Visual Studio 模板中, 这个 文件 被命名为 TestPage.html.js. 这个JavaScript 文件 包含 可带参数 思路方法: createSilverlight. 在这个文件里可以两个在Silverlight.js定义思路方法: createObject 或 createObjectEx 思路方法. createObject或 createObjectEx)参数决定了 Silverlight control 显示大小 及在 XAML 标记 文件 中对UI定义些内容等等. 这个往往对于每个都会不样, 所以般基于Silverlight往往都有个唯CreateSilverlight.js 文件.

  Silverlight.js: 这个 JavaScript 文件 定义 createObject 和 createObjectEx 思路方法 ,这两个思路方法你都在 CreateSilverlight.js中过了, 是用来例示 Silverlight control 到HTML 页面中. 如果 Silverlight control没有正确显示,在这也提供了处理这种情况机制. 对于这个特定 文件,你不要修改它里面已经存在思路方法.你可以添加思路方法和其它你想要代码.

  Page.xaml: 这个 XAML 文件 是和 createSilverlight 或 createSilverlightEx 思路方法 关联. 它 定义 Silverlight展现内容. 该文件里根元素包含了xmlns定义,它申明了基于 Silverlight应用要求(包含命名空间等). Canvas 是个典型根元素, 它可以包含所有UI内容. 如果你基于Silverlight应用使用托管代码,根元素应该包含 x:Class 属性, 这样你可以在后台文件里控制XAML文件中内容了.

  如果你想使用托管代码来进行开发 Silverlight project,那么project里还将包含这些文件:

  Page.xaml.cs (or .vb): 这个 文件将编译到集里以提供托管代码支持. 在代码文件中必须定义和 Page.xaml中x:Class 同名类 . 同样,在集进行编译时候也会用到 x:Class 值. 你事件处理其实就是这个类中成员. , 你也会把 这个 类放到某中, 这个以托管代码编写 也将根据Page.xaml中 x:Class 值生成. 以 Visual Basic为例, 将会是project中默认设置值. 托管代码编写CS 文件 是不能直接使用; 只有编译后生成文件才是应用直接使用到.

  如果你要写个比较复杂, 你可以用多个 文件来组成你集, 但是这些文件中必须定义和 XAML x:Class值类.

  注意

  虽然你已经使用了托管代码, 但你仍然需要 CreateSilverlight.js 和 Silverlight.js 来载入和初使化 Silverlight control.

  使用 Visual Studio来创建 Silverlight Project

  用 Visual Studio来创建 Silverlight Project

  点击 Visual Studio Code Name "Orcas" Beta 1. 左上 file 菜单, 点击 New Project.

  在 New Project 对话框中, 请你自己选择 Visual C# 作为 C# project, 或 Visual Basic 作为 Visual Basic project, 然后选择 Silverlight. 在 模板 列表中, 选择 Silverlight Project.

  为你命名. 点击 OK.

  你可以在此为你project做些额外设置, 像些配置文件, 文件 名, 和些组件路径等等.

  由模板创建这个project包含了基于Silverlight托管代码些最基本文件: 最初HTML 文件, JavaScript 文件, XAML 文件, 和最初 source code 文件 (.cs or .vb) . 各种Silverlight project基本设置也已经完成了, 比如Silverlight特定版本信息和集信息等等. 当然, 当前project已经提供了基本 debugging了.

  添加额外页面

  想要添加额外XAML 页面到当前Silverlight project中, 点 Add, New Item, 选择 Silverlight Page. 这个 page 是由item 模板生成, 会自动创建 XAML 页和 code 文件,这都是和它 x:Class值相关. 是否添加额外 HTML pages和JS scripts 取决于你导航 模型. 般, 你只需要维护单个 HTML 页 和些已经存在 control, 这些过程你要么使用托管代码(当然你也可以不用)来改变这个掌控Silverlight 内容XAML文件, 你都是进行页面导航. 当然你也可以在HTML这个级别上来进行导航, 这样你就可能会要添加更多页到你project里来了.

  编译已经存在Silverlight 举例项目

  ,你可以轻易拷贝SL些现成举例. 无非就是些 HTML, JavaScript, 和 XAML 文件, 这些文件都是明文容易得到.

  对于使用托管代码应用, 这就有些不样了. 般这样项目是不会包含后台文件像.CS和.VB文件, 而是用编译好集来代替. 现在我们给出些举例 Silverlight samples 是特意为了方便大家学习而附上, 大家可以在根目录或是某个子目录下发现它. 这些举例并是所有都有方便进行编译而存在 project或 solution 文件. 但是你却可以使用基于模板产生简单项目,而再向其中添加这些你需要文件.在你编译完你现在项目时,看看你引入那个文件中 x:Class是否能在当然项目中使用了呢.

  对于基本 HTML, XAML, 和 JavaScript 文件, copying from an existing project or following the basic project steps are your best alternatives. Building each 文件 in a text editor is not documented in 这个 topic.

  Generated Code

  使用 Visual Studio 模板 来创建Silverlight托管代码 projects 值得注意是: 编译过程, 和模板生成托管代码.CS或.VB文件都是为了支持你XAML文件. 托管代码文件中所以对象都是和你XAML中 x:Name 定义对象是引用关系. 这样,你在后台文件中就可以操作前台文件了, 各种思路方法, 或为对象添加自己 event handlers都会在 XAML前台文件中得到映射.打个比方,个 Visual Basic project, 模板生成文件中包含了 WithEvents 关键字 来命名 XAML文件中个对象, 那么你就可以直接引用到这个对象,你就可以创建自己 Handles 来处理这个事件.

  如果你注意注意到了XAML 文件 和模板生成后台code 文件 , 你可能会注意到这些:

  根XAML 元素 已经预定义了个 Page_Loaded handler来处理Loaded 事件.

  让人感觉这就像是 x:Class 个托管代码 partial .

  这个 partial 定义 了开始提到 Page_Loaded 事件 handler, 但是这两个东东在哪关联上呢,应该是有个 InitializeComponent. 但是 InitializeComponent在哪呢?

  InitializeComponent 在生成文件中已经定义了. 以上 3点我们了解到模板生成代码不仅和你代码将起工作,它还要提供些必要object 引用. 你可以在编译后去查看你obj 目录. 每个 XAML 页都包含 x:Name 项,这也是生成.CS或.VB文件中会自动添加.

  部署小窍门



  Silverlight.js 这个文件 应该放在服务器上个通用目录下, 对于WEB服务器,这可以为多个提供引用. 这样,可以为缓存Cache和多线程带来便利. 你也许会发现在我们sample中却并没有按这种思路方法. 相反, 每个 QuickStart 或 sample 都有个独立 Silverlight.js 和主 HTML 页面在个目录里. 这个 便我们Sample更具独立性,而不用依赖某个机器特定目录结构.



Tags:  silverlight.2.0 silverlight是什么 silverlight silverlight怎么用

延伸阅读

最新评论

发表评论