silverlight1.1入门系列之2

2007-09-28 13:16:19 来源:Silverlight中文社区 作者:jshao 点击:
首先我们来建立1.1的开发环境,推荐使用VS2008 BETA2(当然你也可以使用文本编辑器

第二篇
首先我们来建立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"
9 7 3 1 2 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

本周软件下载排行

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203