概述
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項目模板。
Silverlight應用不能夠獨立運行,之後彈出的對話方塊中可供我們選擇建立一個ASP.NET Web Site或者Web Application Project用來託管Silverlight應用程式。
這裡我們選擇建立一個Web Application Project,建立完成後的項目結構如下所示:
理解.xap檔案
在建立一個Silverlight應用程式後,我們什麼都不做,直接編譯一下整個解決方案,可以看到在資源管理員中多出了一個ClientBin的檔案夾,並在下面添加了一個TerryLee.SilverlightDemo2.xap的檔案。
該檔案是一個標準的.NET程式集,在編譯的時候所有的XAML標識和資源檔片等都會包含在裡面,採用了標準的Zip壓縮演算法,以減少用戶端下載的檔案體積。拷貝一份該檔案,並且修改尾碼名.xap為.zip,並且解壓縮,可以看到裡麵包含了一些dll檔案和一個AppManifest.xaml:
再開啟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建立一個簡單的按鈕:
運行後效果如下:
為按鈕添加Click事件,在XAML編輯器中輸入事件名稱Click之後,再按Tab鍵將會使用預設的命名方法建置事件處理方法:
開啟Page.xaml.cs檔案後,可以看到已經產生了對應的事件處理方法,現在就可以用熟悉的C#來編寫處理常式了,如單擊按鈕時我們改變按鈕的背景色和文字:
private void myButton_Click(object sender, RoutedEventArgs e){ this.myButton.Content = "Clicked!"; this.myButton.Background = new SolidColorBrush(Colors.Red);}
再運行上面的程式並單擊按鈕,按鈕的文字及背景色發生了變化:
結束語
本篇文章是使用Visual Studio 2008開發Silverlight 2應用程式的一個入門,相信大家都已經看過ScottGu的文章已經有所瞭解。但是為了整個系列完整起見,還是做了一下重複的勞動。
下一篇:一步一步學Silverlight 2系列(2):基本控制項