SilverLight3.0 系列之二, 创建新项目
2011-02-12 20:53
330 查看
在前一篇文章, 我们已经搭建好了silverlight3.0的开发环境, 现在是时候创建一个经典的“Hello World”项目,让我们来看下Silverlight 模板给我们生成了哪些东西?
我们使用Visual Studio 2008的“New Project” 向导来创建silverlight工程, 默认选择C#和.Net Framework 3.5。如图所示, 你会看到3种类型的silvelight项目,
Silverlight Application Silverlight Class Library Silverlight Navigation Application 在这里, 我们选择Silverlight Application 。
在点击OK按钮后, 我们会看到一个对话框,在这里,我们可以选择如何安置我们的silverlight工程,因为silverlight是基于Web的技术,它必须在某个Web页面里才能运行。默认情况下,visual studio会选择“Host the Silverlight application in a new Web site”,如果你选择默认方式创建工程,在生成的解决方案里会包含2个工程,一个是silverlight, 另一个是Asp.Net。如果你选择取消的话,VS只仅仅生成一个工程,位于Bin目录下面,包含一个Test页面, 当你运行这个工程时,test.html会启动,同时在该页面上会显示你的silverlihgt程序。
工程结构
如果我们一切使用默认选项, 生成的解决方案就会如下图所示:
在这里, 我们主要关注SilverlightApplication1里的东西,将其各项展开,如下图:
AppManifest.xml, silverlight程序清单,这个文件描述了跟项目有关的所有DLL和程序的入口,在默认生成的项目中, 刚开始的时候,这个文件是空的,但如果你build了工程,你就会发现在Bin/Debug或者Bin/Release目录下生成了一个AppManifest.xaml,打开AppManifest.xaml,其中只列了一个DLL-“SilverlightApplication1.dll”,这个DLL会被包含在.xap文件中。
我们可以将AppManifest.xaml看做silverlight运行时的启动文件,它表明了哪些程序集应该被加载,哪个程序集提供入口方法。
AssemblyInfo.cs, 主要用来设定生成的程序集的一些参数。
App.xaml, App.xaml/App.xaml.cs 定义了Silverlight程序的入口, 打开App.xaml.cs, 你会看到App类, 该类继承于System.Windows.Application(位于System.Windows.dll).
App的构建函数:
1 App.Startup事件委托与方法Application_Startup绑定
2 App.Exit事件委托与方法Application_Exit绑定
3 App.UnhandledException事件委托与方法Application_[b]UnhandledException[/b]绑定
4 调用InitializeComponent()
Application_Startup()方法:
1 实例化Page对象
2 设置App.RootVisual为Page对象
InitializeComponent()方法:
调用Application.LoadComponent(位于App.g.cs),并传递一个指向App.xaml的Uri对象做为参数。
MainPage.xaml,在Silverlight中,做为默认的启动页面,我们可以把想显示的任意内容放在这里,如果我们想改变启动页面,可以修改App.RootVisual的值。
MainPage类继承自System.Windows.Controls.UserControl,
像App类一样, MainPage类同样也有一个InitializeComponent方法,右键点击“
在MainPage.xaml中, 默认包含一个Grid元素,命名为“LayoutRoot”,通过FindName方法,MainPage找到这个Grid对象并赋给LayoutRoot属性。
待解决问题:
1 System.Windows.Application.LoadComponent 主要作用?
2 LayoutRoot属性作用?
我们使用Visual Studio 2008的“New Project” 向导来创建silverlight工程, 默认选择C#和.Net Framework 3.5。如图所示, 你会看到3种类型的silvelight项目,
Silverlight Application Silverlight Class Library Silverlight Navigation Application 在这里, 我们选择Silverlight Application 。
在点击OK按钮后, 我们会看到一个对话框,在这里,我们可以选择如何安置我们的silverlight工程,因为silverlight是基于Web的技术,它必须在某个Web页面里才能运行。默认情况下,visual studio会选择“Host the Silverlight application in a new Web site”,如果你选择默认方式创建工程,在生成的解决方案里会包含2个工程,一个是silverlight, 另一个是Asp.Net。如果你选择取消的话,VS只仅仅生成一个工程,位于Bin目录下面,包含一个Test页面, 当你运行这个工程时,test.html会启动,同时在该页面上会显示你的silverlihgt程序。
工程结构
如果我们一切使用默认选项, 生成的解决方案就会如下图所示:
在这里, 我们主要关注SilverlightApplication1里的东西,将其各项展开,如下图:
AppManifest.xml, silverlight程序清单,这个文件描述了跟项目有关的所有DLL和程序的入口,在默认生成的项目中, 刚开始的时候,这个文件是空的,但如果你build了工程,你就会发现在Bin/Debug或者Bin/Release目录下生成了一个AppManifest.xaml,打开AppManifest.xaml,其中只列了一个DLL-“SilverlightApplication1.dll”,这个DLL会被包含在.xap文件中。
我们可以将AppManifest.xaml看做silverlight运行时的启动文件,它表明了哪些程序集应该被加载,哪个程序集提供入口方法。
AssemblyInfo.cs, 主要用来设定生成的程序集的一些参数。
App.xaml, App.xaml/App.xaml.cs 定义了Silverlight程序的入口, 打开App.xaml.cs, 你会看到App类, 该类继承于System.Windows.Application(位于System.Windows.dll).
App的构建函数:
1 App.Startup事件委托与方法Application_Startup绑定
2 App.Exit事件委托与方法Application_Exit绑定
3 App.UnhandledException事件委托与方法Application_[b]UnhandledException[/b]绑定
4 调用InitializeComponent()
Application_Startup()方法:
1 实例化Page对象
2 设置App.RootVisual为Page对象
InitializeComponent()方法:
调用Application.LoadComponent(位于App.g.cs),并传递一个指向App.xaml的Uri对象做为参数。
MainPage.xaml,在Silverlight中,做为默认的启动页面,我们可以把想显示的任意内容放在这里,如果我们想改变启动页面,可以修改App.RootVisual的值。
MainPage类继承自System.Windows.Controls.UserControl,
像App类一样, MainPage类同样也有一个InitializeComponent方法,右键点击“
InitializeComponent()” , 选择“Go To Definition”, 我们就能在Page.g.cs中看到另外部份的MainPage类,
在MainPage.xaml中, 默认包含一个Grid元素,命名为“LayoutRoot”,通过FindName方法,MainPage找到这个Grid对象并赋给LayoutRoot属性。
待解决问题:
1 System.Windows.Application.LoadComponent 主要作用?
2 LayoutRoot属性作用?
相关文章推荐
- Flex快速入门系列之二:FlashBuilder创建项目以及远程JAVA对象访问(包括spring)篇
- Silverlight_Rest_WCF系列之二:调用Rest
- SQL Server CLR系列(1)-创建CLR项目与自动部署
- AndroidStudio升级3.0之后无法创建新的工程项目
- 在Silverlight类库项目中创建模板化控件
- 创建自定义行为并在Silverlight项目中使用2
- Equinox OSGi系列之四 创建自己的OSGi应用项目
- 信息系统项目管理系列之二:项目生命期和组织
- VisualGDB系列8:使用VS创建CMake Linux项目
- cocos2d-x-3.0rc0、3.0、3.0alpha1+创建项目
- 使用Cordova 3.0(及以上版本) 创建安卓项目
- cocos2dx-3.0 python创建项目报错
- Gradle学习系列之二——创建Task的多种方法
- Silverlight学习笔记(一)-----Silverlight入门之创建项目与使用渐变填充色
- 【Web API系列教程】3.1 — 实战:处理数据(创建项目)
- 【Oracle XE系列之二】Oracle XE创建表空间、创建用户以及授权、查看权限
- maven系列之二maven项目的创建和maven项目的结构
- Equinox OSGi系列之 创建自己的OSGi应用项目
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(6):为网站添加Silverlight支持.zip(6.31 MB)
- COCOS2D-X 3.0在MAC下创建新IOS项目: