RSS
热门关键字:  性福人生  生化危机  虚拟人生  o ice  秘密潜入1

silverlight1.1入门系列之2

来源: 作者:jshao 时间:2008-04-14 Tag: 点击:
第二篇
首先我们来建立1.1的开发环境,推荐使用VS2008 BETA2(当然你也可以使用文本编辑器…)VS2005也是可以的,具体步骤可以参看EAST的这篇文章http://silverlight.cn/blogs/east/archive/2007/06/19/vs2005csharpsilverlight11alpha.aspx 我们现在只讲解VS2008下的开发,在VS2008中你需要安装VS_SilverlightTools_Alpha_Setup_ForVS2008Beta2.exe 这个小东西,小东西可以在站里下载资源里找到,安装完以后,就开始我们开发之旅了.

打开VS2008,建立一个SL项目,如图:


命名,在解决方案面板中,我们可以看到一些文件,首先看下,page.xaml,以下是该文件中的内容,我们看一下有什么用
<Canvas x:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="SLProjectForBlog.Page;assembly=ClientBin/SLProjectForBlog.dll"
Width="640"
Height="480"
Background="White"
>

</Canvas>

x:Name属性是一个很重要的属性,它就像平时我们在服务器端编写代码时用到的ID一样,是一个标识对象的标识符,在1.0中我们用Name属性就可以了,就可以在后台的JS文件得到这个对象的引用了,但在1.1中,必须使用x:Name属性,那么这儿,x:Name="parentCanvas"表示根Canvas的ID就是parentCanvas,第二,三行,xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 这是一些申明性的语句,申明命名空间什么的,这个不需要做过多了解.Loaded="Page_Loaded" 表示事件关联,即当前根Canvas的pageload事件,可想而之,所有控件的关联都是在这个事件里进行的,pageload事件里的InitializeComponent()即干了关联所有前台控件的工作,细心的朋友可以看一下这个方法的内容.
x:Class="SLProjectForBlog.Page;assembly=ClientBin/SLProjectForBlog.dll" 这也是一个重要的申明,大家知道在1.1中,后台的CS文件是会被编译的,那么在这就指名了编译后文件存在的路径,这样在客户端请求页面时,会将这个DLL文件下载到本地,再运行我们的silverlight程序.
而1.0中我们是不会看到这个属性,因为1.0是不用预编译的. 额外的提一下,大家以后可能还会遇到一个类似的属性申明:xmlns:my="clr-namespace:BasketballLive.Controls;assembly=ClientBin/BasketballLive.dll" 这其实是一个控件的引用申明,详细的讲解我们以后再谈.
Width="640" Height="480" Background="White" 这些就比较简单了,定义了根canvas的一些外观属性.
我们再来看一下后台文件,内容如下:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SLProjectForBlog

public partial class Page : Canvas

public void Page_Loaded(object o, EventArgs e)

// Required to initialize variables
InitializeComponent();
}


极其普通的一个后台文件,非常像我们平时开发asp.net程序的后台文件,上面是一些using 语句,不过大家要注意,在这可以using的命名空间是有限的,第一章中也讲到过,这个运行在客户端的貌似.net framework平台只是.net framework的一个小子集,不过目前有的功能都已经很强了哦,下面我们看下InitializeComponent()方法,这就是用来关联前台页面中对象的方法了,我们看一下它的实现,现在是空的,因为我们前台没有任何内容,那么我们在前台加一个对象,看看相应的变化,
前台代码:
<Canvas x:Name="parentCanvas"

1

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册