Silverlight2 Beta 1版本發(fā)布了,無(wú)論從Runtime還是Tools都給我們帶來(lái)了很多的驚喜,如支持框架語(yǔ)言Visual Basic, VisualC#, IronRuby, Ironpython,對JSON、WebService、WCF以及Sockets的支持等一系列新的特性?!兑徊揭徊綄W(xué)Silverlight2系列》文章帶您快速進(jìn)入Silverlight 2開(kāi)發(fā)。
本文為系列第一篇創(chuàng )建一個(gè)基本的Silverlight 2應用,不能免俗,從最簡(jiǎn)單的Hello Word 開(kāi)始。
安裝完Silverlight 2 Beta 1之后打開(kāi)VS2008,打開(kāi)新建項目對話(huà)框,可以看到Silverlight Application項目模板。
Silverlight應用不能夠獨立運行,之后彈出的對話(huà)框中可供我們選擇創(chuàng )建一個(gè)ASP.NET Web Site或者Web Application Project用來(lái)托管Silverlight應用程序。
這里我們選擇創(chuàng )建一個(gè)Web Application Project,創(chuàng )建完成后的項目結構如下所示:
在建立一個(gè)Silverlight應用程序后,我們什么都不做,直接編譯一下整個(gè)解決方案,可以看到在資源管理器中多出了一個(gè)ClientBin的文件夾,并在下面添加了一個(gè)TerryLee.SilverlightDemo2.xap的文件。
該文件是一個(gè)標準的.NET程序集,在編譯的時(shí)候所有的XAML標識和資源文件如圖片等都會(huì )包含在里面,采用了標準的Zip壓縮算法,以減少客戶(hù)端下載的文件體積??截愐环菰撐募?,并且修改后綴名.xap為.zip,并且解壓縮,可以看到里面包含了一些dll文件和一個(gè)AppManifest.xaml:
再打開(kāi)TerryLee.SilverlightDemo2TestPage.aspx文件,在頁(yè)面的頂部引入了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%" />
現在我們創(chuàng )建一個(gè)簡(jiǎn)單的Hello Word Silverlight程序,使用如下XAML創(chuàng )建一個(gè)簡(jiǎn)單的按鈕:
運行后效果如下:
為按鈕添加Click事件,在XAML編輯器中輸入事件名稱(chēng)Click之后,再按Tab鍵將會(huì )使用默認的命名方法生成事件處理方法:
打開(kāi)Page.xaml.cs文件后,可以看到已經(jīng)生成了對應的事件處理方法,現在就可以用熟悉的C#來(lái)編寫(xiě)處理程序了,如單擊按鈕時(shí)我們改變按鈕的背景色和文字:
private void myButton_Click(object sender, RoutedEventArgs e)
{
this.myButton.Content = "Clicked!";
this.myButton.Background = new SolidColorBrush(Colors.Red);
}
再運行上面的程序并單擊按鈕,按鈕的文字及背景色發(fā)生了變化:
本篇文章是使用Visual Studio 2008開(kāi)發(fā)Silverlight 2應用程序的一個(gè)入門(mén),相信大家都已經(jīng)看過(guò)ScottGu的文章已經(jīng)有所了解。但是為了整個(gè)系列完整起見(jiàn),還是做了一下重復的勞動(dòng)。
聯(lián)系客服