ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

转载 2007年10月04日 21:39:00
(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第一篇。<br />转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/23/1796794.aspx<br />如果有对于Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容有建议,请访问<br />http://blog.csdn.net/SilverlightShanghai,留下你的宝贵意见)

使用.NET语言开发Silverlight应用程序入门之一:了解项目结构

今天先让我们从 Silverlight应用程序的.NET项目结构开始,看一下这样的一个项目中包含了些什么文件,这些文件分别是用来做什么的。了解这些内容有助于我们 将来根据自己的需要制作更为复杂的项目内容。在开始介绍之前,请务必安装Silverlight 1.1 Alpha Refresh。

无论是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项目包含了如下的目录结构:

  1. References目录
    查 看该目录,我们可以看到其中包含了许多 (.dll)文件,这些文件定义了项目中所引用的各托管类型。如果我们要使用其他自定义的类型,就可能需要手动添 加包含该类型定义的.dll文件。 若Silverlight插件中没有包含项目所引用的某些程序集文件,则应用程序用户需要下载这些程序集文件到本地。
  2. Page.xaml
    项目默认的主界面的XAML描述文件。
    • Page.xaml.cs
      每 个xaml文件之后都有一个对应的.NET语言文件。由于我们创建的是C#项目,所以其对应的文件为.cs文件。这个文件对.xaml文件中的所引用的. NET类型做了定义。 通过编译之后,项目会生成程序集文件,供.xaml文件引用,且该程序集文件会随Silverlight应用程序一起下载到用户本地。
  3. Silverlight.js
    该 文件包含了运行Silverlight应用程序之前所必需的各种操作,主要检查用户是否安装了符合版本需求的Silverlight。如果没有安装,则 Silverlight应用程序所在的页面将会显示图标,提示用户先安装插件。这里我们不建议Silverlight的开发设计人员改变该.js文件的内 容。
  4. TestPage.html(Blend 2中创建的文件名为Default.html)
    该文件为项目的默认主页,文件中引入了Silverlight的脚本文件来载入Silverlight应用程序。
    • TestPage.html.js(Blend 2中的文件名为Default_html.js)
      该文件中定义了TestPage.html中调用的CreatSilverlight()方法来载入Silverlight应用程序。

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

  • TestPage.html

<html>
<head>
    <title>Silverlight Project Test Page </title>
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript" src="TestPage.html.js"></script>
    <style type="text/css">
    <!--设置应用程序在html页面中显示的大小,也可以用百分比表示,设置为100%则应用程序为自适应大小-->
        .silverlightHost { width: 640px; height: 480px; }
    </style>
</head>

<body>
    <!--以下的ID用来标示DIV,尤其当页面总有多个Silverlight实例时,这个ID就成为了标示每个Silverlight应用程序的重要标志-->
    <div id="SilverlightControlHost" class="silverlightHost" >
        <script type="text/javascript">
            createSilverlight();
        </script>
    </div>
</body>
</html>

  • 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

<!--Canvas是一个包含了各种控件和元素的容器,每个Silverlight应用程序都有一个XAML的根文件,每个XAML文件的根都是一个Canvas容器,且只能有一个作为根元素的Canvas容器-->
<Canvas x:Name="parentCanvas"
        xmlns="
http://schemas.microsoft.com/client/2007"
        xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml
       <!--指定当Load事件发生时所要载入的方法-->
        Loaded="Page_Loaded" 
       <!--指定该.xaml文件中的托管类进入点,以及所涉及到的引用(程序集)的位置,一般项目编译生成的程序集文件都位于项目中的ClientBin文件夹中-->
        x:Class="SilverlightProjectStructure.Page;assembly=ClientBin/SilverlightProjectStructure.dll"

        Width="640"
        Height="480"
        Background="White"
        >
</Canvas>

  • Page.xaml.cs

public partial class Page : Canvas
    {
     
   //载入应用程序时的初始化方法,该方法中包含了所有页面初始化是所要做的操作
        public void Page_Loaded(object o, EventArgs e)
        {
            // 初始化变量时,以下方法必不可少
            InitializeComponent();

           //接下来指定其他所需的初始化操作……
       
}
    }

ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

2007年10月04日 21:39:00 (本文转载自Silverlight上海开发团队Blog,是"使用.NET语言开发Silverlight应用程序入门"系列之第一篇。>br /br /b...
  • softart
  • softart
  • 2007-12-14 13:06:00
  • 516

使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

从今天开始,让我们系统的了解一下如何用.NET语言来开发Silverlight的应用程序。这个入门系列会包含用.NET语言(这里主要使用C#语言)开发Silverlight应用程序的各个方面,如UI控...
  • SilverlightShanghai
  • SilverlightShanghai
  • 2007-09-23 12:40:00
  • 7966

使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

使用.NET语言开发Silverlight应用程序入门之一:了解项目结构今天先让我们从Silverlight应用程序的.NET项目结构开始,看一下这样的一个项目中包含了些什么文件,这些文件分别是用来做...
  • tongdoudpj
  • tongdoudpj
  • 2007-09-30 07:39:00
  • 486

使用Visual Studio 2010 创建简单的Silverlight应用程序

Silverlight是创建动态的引人的RIAs(Rich Internet Application)的新方法。这里教你创建简单的Silverlight应用程序。...
  • u012025054
  • u012025054
  • 2014-06-25 22:22:27
  • 1328

《C#入门经典(第6版)》之如何编写简单的桌面应用程序

1本章内容: ● Visual Studio 2012 的基础知识 ● 如何编写简单的控制台应用程序 ● 如何编写简单的桌面应用程序              VS 是一个庞大的复杂产品,...
  • qinghuawenkang
  • qinghuawenkang
  • 2014-01-24 10:54:11
  • 28371

一个值得推荐的Silverlight+.net实现的Desktop桌面版应用程序例子

  • 2008年10月21日 21:44
  • 868KB
  • 下载

轻松创建Silverlight 4开发环境

出处:http://kevinfan.blog.51cto.com/1037293/339391 在银光中国网有一篇“轻松创建Silverlight开发环境”文章,相信帮助了不少Silverlig...
  • u010678947
  • u010678947
  • 2014-02-24 14:02:18
  • 1076

使用.NET语言开发Silverlight应用程序入门(二):界面和对象模型

1. XAML:用来描述界面的语言 Silverlight是用XAML语言来描述界面的。XAML是eXtensible Application Markup Language的缩写,也就是可扩展的应用...
  • SilverlightShanghai
  • SilverlightShanghai
  • 2007-09-28 16:38:00
  • 4829

使用.NET语言开发Silverlight应用程序入门(五):事件处理

上次我们尝试了如何在Silverlight中创建一个自定义控件。这次让我们再深入一步,谈谈Silverlight中的事件处理。通过这种方式,我们就可以给上次制作的自定义控件增强它的交互性了。Silve...
  • SilverlightShanghai
  • SilverlightShanghai
  • 2008-01-13 18:41:00
  • 2271

使用.NET语言开发Silverlight应用程序入门(三):画刷和变形

前一阵子因为忙着TechED以及项目开发,很久没有到上面来踏一脚 。今天忙里偷闲,让我们继续我们的用.NET开发Silverlight应用程序的入门系列。今天的主题比较简单,也是最后一个和XAML直接...
  • SilverlightShanghai
  • SilverlightShanghai
  • 2007-11-22 16:51:00
  • 2094
收藏助手
不良信息举报
您举报文章:ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构
举报原因:
原因补充:

(最多只允许输入30个字)