最近,飞茶跟进微软的步伐,开始自学起Silverlight开发,虽然微软宣布要着重发展HTML5技术,但是HTML5的推广还为时尚早,无论是技术还是软硬件支持方面都需要时间来发展,Silverlight作为微软推出与AdobeFlash抗衡的新产品,它的技术含量之高自然是不言而喻的,微软不会傻到扼杀她的孩子,所以,作为.net程序开发员,学习Silverlight还是非常必要的!所以,我把我学习的过程整理为学习笔记,一来是督促自己好好学习,二来也是帮助一些童鞋来学习,自己整理的资料,无论是学习方法和学习内容方便难免有不合理的地方,请大家根据自己的情况和学习能力来判断学习~~转载请注明飞茶新浪博客http://blog.sina.com.cn/flyteablog
【第一步】什么是Silverlight
MicrosoftSilverlight 是一种跨浏览器、跨平台的 .NET Framework 实现,用于为 Web生成和提供下一代媒体体验和丰富的交互式应用程序 (RIA)。Silverlight 统一了服务器、Web和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation(WPF) 的功能。
Silverlight 允许您创建具有以下功能的最先进的应用程序:
【第二步】创建你的第一个Silverlight程序
飞茶本人的电脑配置呢,是Windows7旗舰版+VS2010中文旗舰版+SQLServer2008+Silverlight4+IE9,都是现在的最新版,如果您发现和您的开发环境或开发流程不同时,请注意按照您的配置更改。
VS2008开发类似于MVC或Silverlight程序,需要安装补丁包,详细配置可百度查询,飞茶就不多啰嗦了,下面开始咱们第一个Silverlight程序吧~~
【示例1】使用VS2010+Silverlight4开发“Hello World”Silverlight程序
首先打开VS2010,新建项目,选择Silverlight创建一个Silverlight应用程序,如下图
在名称栏里,你可以为第一个项目命名,这里飞茶将第一个项目命名为“StudySilverlight”,点击确定之后,会弹出一个新对话框,允许我们选择是否需要一个服务器端的ASP.NETWeb或只要创建Silverlight应用程序,这里我们只需要创建应用程序的话,就把“在新网站中承载Silverlight应用程序”一项前面的选择给去掉就可以了~~下面还有一个下拉框让你选择Silverlight的版本,这里选择目前最新的Silverlight4。
点击“确定”之后,VS会为我们创建一个解决方案,里面包含Silverlight客户端应用,如果你选择了要在新网站承载一项时,还会包含一个ASP.NETWeb的服务器端应用。VS界面如下图:
【第一步】理解Silverlight应用里面都有什么
创建完成之后,先不要急着写代码,我们看一下“解决方案资源管理器”里面,都包含些神马神秘的东东,只有了解了它的原理,才会更好的去开发~~
在默认情况下,一个新建的Silverlight应用项目包含一个MainPage.xaml和一个App.xaml文件,App.xaml允许您指定应用于整个应用程序的资源和代码。MainPage.xaml定义一个页面,该页面与网站中的页面类似。MainPage.xaml.cs 是您编写托管代码的代码隐藏文件。此模型与 ASP.NET中使用的模型类似。
(注:MainPage和App文件在Silverlight4离线文档中的介绍
MainPage 文件
可以使用 MainPage 类来创建 Silverlight应用程序的用户界面。MainPage 类派生自 UserControl。可以通过使用 MainPage.xaml(对于 XAML 标记)和MainPage.xaml.cs 或 MainPage.xaml.vb(对于代码隐藏)来实现MainPage 类。
App 文件
Silverlight 应用程序需要使用 App 类来显示应用程序用户界面。通过使用 App.xaml和 App.xaml.cs 或 App.xaml.vb 来实现 App 类。在创建应用程序包(.xap文件)后,由 Silverlight 插件将 App 类实例化。)
XAML文件是XML文本文件,可以用来以声明的方式指定Silverlight或WPF应用的用户界面,XAML还可以更广泛的用来以声明的方式代表.NET对象。
在项目编译时,默认情况下,VS会把代码和XAML标识编译进一个标准的.NET程序集文件中,然后把它和任何静态的资源(如图片或静态文件)包装到硬盘上一个“*.xap”的文件中去。有关编译的原理和内容可参见微软Silverlight4离线文档。
【第二步】学习在Silverlight中添加控件和处理事件
如果我们此时直接运行它的时候,只会调出一个空白的页面。在VS直接显示的MainPage.xaml文件代码中,我们可以添加一些内容,VS2010开发界面是所见即所得的开发模式,你改变代码时,设计面板会显示你所更改的效果,这样也免去了经常运行的麻烦。首先,我们在代码中添加一个按钮。
先介绍一下代码中的内容,“xmlns”是一系列的引用,此时先不用管,以后会介绍到用法;<Grid>允许您创建一个与HTML中的表类似的表类型布局,它的作用非常大,应该是开发中最常用的布局工具,此外其它的布局工具还有Canvas、StackPanel,这两项后面再介绍。
在XAML中写代码的时候,使用的是标记代码,类似于HTML或XML文档,写了开始标记后必须有一个结束标记,不然的话编译会产生错误,Grid中自动生成了两个属性,其中“x:Name”是为Grid指定的名称,“Background”是指背景颜色,默认为白色“White”,这里改成银灰色“Silver”,下面开始在<Grid></Grid>中添加代码,
<Grid x:Name="LayoutRoot"Background="Silver">
<Button x:Name="btnOk" Content="确定" Width="100"Height="50"></Button>
</Grid>
<Button>中的属性有“Content”,指按钮显示的内容,“Width”、“Height”分别表示按钮的宽度和高度,代码完成后,设计面板显示如下:
接着添加一个“Click”事件处理函数,在<Button>中,点击空格,选择或输入“Click”后,VS提示我们在后台代码类中需要使用的事件处理函数,这里我们还没有写方法,所以选择新事件处理,确定了名称之后,我们只需要点击回车就行,它会自动生成以默认命名的事件处理方法,如下图:
接着,把光标移到“btnOk_Click”上点击右键,选择“导航到事件处理程序”,进入后台代码编写,输入事件代码“btnOk.Content= "Hello World";”然后,运行程序,运行结果如下图:
点击前
点击后
【编后语】
作为第一个项目,难免要啰嗦一些,毕竟学习是一个循序渐进的过程,一口吃个胖子的事情是很少的,只有掌握了这些基础的知识,才会学的更深入。如果您觉得这样太慢的话,可以直接选择后续文档或阅读Silverlight4离线文档。