一步一步學Silverlight 2系列(1):創建一個基本的Silverlight應用

概述

Silverlight 2 Beta 1版本發佈了,無論從Runtime還是Tools都給我們帶來了很多的驚喜,如支持框架語言Visual Basic, Visual C#, IronRuby, Ironpython,對JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步學Silverlight 2系列》文章帶您快速進入Silverlight 2開發。

本文爲系列第一篇創建一個基本的Silverlight 2應用,不能免俗,從最簡單的Hello Word 開始。

建立項目

安裝完Silverlight 2 Beta 1之後打開VS2008,打開新建項目對話框,可以看到Silverlight Application項目模板。

TerryLee_Silverlight2_0001

Silverlight應用不能夠獨立運行,之後彈出的對話框中可供我們選擇創建一個ASP.NET Web Site或者Web Application Project用來託管Silverlight應用程序。

TerryLee_Silverlight2_0002

這裏我們選擇創建一個Web Application Project,創建完成後的項目結構如下所示:

TerryLee_Silverlight2_0003

理解.xap文件

在建立一個Silverlight應用程序後,我們什麼都不做,直接編譯一下整個解決方案,可以看到在資源管理器中多出了一個ClientBin的文件夾,並在下面添加了一個TerryLee.SilverlightDemo2.xap的文件。

TerryLee_Silverlight2_0004

該文件是一個標準的.NET程序集,在編譯的時候所有的XAML標識和資源文件如圖片等都會包含在裏面,採用了標準的Zip壓縮算法,以減少客戶端下載的文件體積。拷貝一份該文件,並且修改後綴名.xap爲.zip,並且解壓縮,可以看到裏面包含了一些dll文件和一個AppManifest.xaml:

TerryLee_Silverlight2_0005

再打開TerryLee.SilverlightDemo2TestPage.aspx文件,在頁面的頂部引入了System.Web.Silverlight程序集,支持<asp:Silverlight/>控件:

<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
    TagPrefix="asp" %>

<asp:Silverlight/>控件的聲明如下,其中屬性Source屬性指定了剛纔編譯生成的.xap文件的路徑:

<asp:Silverlight ID="Xaml1" runat="server" 
        Source="~/ClientBin/TerryLee.SilverlightDemo2.xap" 
        Version="2.0" Width="100%" Height="100%" />

創建一個Hello Word程序

現在我們創建一個簡單的Hello Word Silverlight程序,使用如下XAML創建一個簡單的按鈕:

TerryLee_Silverlight2_0006

運行後效果如下:

TerryLee_Silverlight2_0007

爲按鈕添加Click事件,在XAML編輯器中輸入事件名稱Click之後,再按Tab鍵將會使用默認的命名方法生成事件處理方法:

TerryLee_Silverlight2_0008

打開Page.xaml.cs文件後,可以看到已經生成了對應的事件處理方法,現在就可以用熟悉的C#來編寫處理程序了,如單擊按鈕時我們改變按鈕的背景色和文字:

private void myButton_Click(object sender, RoutedEventArgs e)
{
    this.myButton.Content = "Clicked!";
    this.myButton.Background = new SolidColorBrush(Colors.Red);
}

再運行上面的程序並單擊按鈕,按鈕的文字及背景色發生了變化:

TerryLee_Silverlight2_0009

結束語

本篇文章是使用Visual Studio 2008開發Silverlight 2應用程序的一個入門,相信大家都已經看過ScottGu的文章已經有所瞭解。但是爲了整個系列完整起見,還是做了一下重複的勞動。

下一篇:一步一步學Silverlight 2系列(2):基本控件

轉載於:https://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part1.html