前言
上一篇講述了Windows Phone 7開發環境的搭建,這篇文章講述如何建立,部署,調試以及運行Silverlight for Windows Phone應用程式,同時介紹如何Microsoft Visual Studio 2010 Express for Windows Phone和Windows Phone Emulator(模擬器)的使用。在文章中會建立一個叫做SilverRadio的Silverlight for Windows Phone應用程式,我把這個程式取名為銀光收音機,這個程式用於收聽網路電台節目。
建立Silverlight for Windows Phone項目
點 擊 Start -> All Programs -> Microsoft Visual Studio 2010 Express -> Microsoft Visual Studio 2010 Express for Windows Phone 。啟動Microsoft Visual Studio 2010 Express for Windows Phone
在File菜單下點擊New Project。
在New Project對話方塊下選擇Silverlight for Windows Phone模板目錄,然後選擇Windows Phone Application模板,項目名字取名為SilverRadio,然後點擊OK按鈕。
一個Silverlight for Windows Phone的項目就建立成功了,下面看看Windows Phone Application模板為我們建立了那些檔案。
模板產生的檔案結構
在Solution Explorer(解決方案瀏覽器)可以看到Windows Phone Application 模板為SilverRadio項目所建立以下的目錄結構和檔案。
App.xaml和App.xaml.cs定義程式的進入點,初始化應用程式層級的全域靜態資源(StaticResource)和啟動程式的頁面。Beta版本把一些全域資源的定義從App.xaml移走了,原先可以看到定義的原始碼,現在需要參考各個全域靜態資源的定義,請參考這篇文章Theme Resources for Windows Phone。
MainPage.xaml和MainPage.xaml.cs定 義一個UI的頁面,通常Silverlight程式的模板會產生一個叫做MainPage.xaml和MainPage.xaml.cs的UI頁面作為默 認的啟動UI,但是UI啟動頁面不是必須取MainPage作為名字,使用MainPage只是一個慣例。如果需要修改第一個啟動頁面可以在 WMAppManifest.xml 修改下面的代碼。
<Tasks> <DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/> </Tasks>
ApplicationIcon.png是在Phone application List顯示的表徵圖,例如在下面模擬器顯示SilverRadio的表徵圖。
Background.png用於start screen(啟動螢幕)顯示的表徵圖
SplashScreenImage.jpg 當程式啟動之後,在第一個頁面啟動之前顯示的圖片。
Properties\AppManifest.xml 用於定義程式打包檔案(manifest)。 Silverlight程式最終會打成XAP包,這個XAP包是zip格式的檔案,裡麵包含了程式需要用到的所有資源(例片,音效檔等等),和依賴 的第三方DLL等等。AppManifest.xml檔案用於定義打包的結構, 為產生的xap的。
如果把SilverRadio.xap檔案改名為SilverRadio.zip,然後解壓,能看到程式發布時候所有的檔案,這些檔案的結構由AppManifest.xml來進行定義。
Properties\AssemblyInfo.cs 包含版本資訊等來源資料(metadata),這個檔案與ASP.NET,Winform程式中的AssemblyInfo.cs檔案功能一致。
Properties\WMAppManifest.xml 與AppManifest.xml一樣也是用來定義程式的打包檔案,但是WMAppManifest.xml專門指定Windows Phone Silverlight應用程式相關的來源資料(metadata),例如上述的啟動頁面MainPage.xaml的定義包含在 WMAppManifest.xml裡面。
一般來說不要手工修改WMAppManifest.xml和AppManifest.xml檔案,可以通過項目屬性檔案來修改。如:
右鍵選擇項目的屬性。
修改的屬性會保持到WMAppManifest.xml和AppManifest.xml檔案裡面。
References 檔案夾顯示一些依賴的DLL等相關資源,由於Windows Phone Beta版把多個DLL合并到Microsoft.Phone.dll一個裡面,所以項目包含了Microsoft.Phone.dll和 Microsoft.Phone.Interop.dll兩個Windows Phone相關的DLL(CTP版本包含更多其它DLL),如果需要使用到其他DLL,例如在我們系列教材中會使用到LINQ for XML,那麼會把System.Xml.Linq.DLL增加到References檔案夾裡面。
由於發稿到《程式員》雜誌,暫時不能發全文,全文見 Silverlight for Windows Phone 7開發系列(2):第一個Silverlight程式