首先建一個windows phone 7的項目

2接下來我們讨論一下着一堆檔案幹什麼用?
- Propertys\WMAppmanifest.xml
這個檔案是記錄了應用程式的相關屬性描述,以及定義應用程式的功能性;我們不妨打開這個檔案看一下都有什麼?
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
<App xmlns="" ProductID="{7db581a7-1c45-48c6-94b8-fdfaaf4f5e8a}" Title="sdkSimpleMotionCS" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="sdkSimpleMotionCS author" Description="Sample description" Publisher="sdkSimpleMotionCS">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_GAMERSERVICES"/>
<Capability Name="ID_CAP_IDENTITY_DEVICE"/>
<Capability Name="ID_CAP_IDENTITY_USER"/>
<Capability Name="ID_CAP_LOCATION"/>
<Capability Name="ID_CAP_MEDIALIB"/>
<Capability Name="ID_CAP_MICROPHONE"/>
<Capability Name="ID_CAP_NETWORKING"/>
<Capability Name="ID_CAP_PHONEDIALER"/>
<Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
<Capability Name="ID_CAP_SENSORS"/>
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
<Capability Name="ID_CAP_ISV_CAMERA"/>
<Capability Name="ID_CAP_CONTACTS"/>
<Capability Name="ID_CAP_APPOINTMENTS"/>
</Capabilities>
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
<Tokens>
<PrimaryToken TokenID="sdkSimpleMotionCSToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>sdkSimpleMotionCS</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
</App>
</Deployment>
那麼,這些代碼又起到什麼作用呢?
<!--[if !supportLists]-->· <!--[endif]-->ProductID:代表應用程式的 GUID 字元串
<!--[if !supportLists]-->· <!--[endif]-->Title:項目的名稱
<!--[if !supportLists]-->· <!--[endif]-->RuntimeType:設定應用程式是 Silverlight 或是 XNA 的類型
<!--[if !supportLists]-->· <!--[endif]-->Version:應用程式的版本編号
<!--[if !supportLists]-->· <!--[endif]-->Genre: Silverlight ---> apps.normal XNA---->apps.game
<!--[if !supportLists]-->· <!--[endif]-->Author:開發者名稱
<!--[if !supportLists]-->· <!--[endif]-->Description:應用程式的描述
Publisher:這個值預設會是項目的名稱,如果應用程式有使用到 Push 的相關功能
<Capabilities>區域代碼功能:描述了應用能夠使用的功能性,例如能不能使用網絡的功能或是存取媒體櫃 (Media library) 的内容;在一般的情形下,我們是不需要去修改到這個部分的,假設當你移除了某些功能,例如說移除了 WebBrowser 的部分
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
那麼當你在程式代碼中有使用到 WebBrowser 相關的功能時,程式便會出錯了,而 unhandle exception 在 Silverlight for Windows Phone 中是會直接關閉應用程式的,是以你看到的情形就會是『疑?我的程式怎麼自動消失了』。
<Tasks>:NavigationPage 的部分,假設你的起始頁面 (第一個顯示的 Page) 名稱不是 MainPage 的話,可以在這邊做對應的修改。
<Tokens>:設定當你的應用程式加到 Tile (也就是首頁的地方) 之後相關的設定;要特别注意 TaskName 這個地方的設定是在Tile點下你的應用程式之後,會去啟動應用程式的相關設定,跟上面提到 <Tasks> 中 Name 的屬性是有相對應的關系的。BackgroundImageURI 是當你的應用程式錨定到首頁 (Pin to Start) 之後的背景圖案。
- App.xaml
App.xaml 與 App.xaml.cs 這兩個檔案,預設包含了 Lifecycle (應用程式生命周期) 的相關事件處理,包含初次啟動、失去焦點 (通常發生在使用者啟動另外一個應用程式) 等等的相關處理;這部分在這系列中談到生命周期的部分會再跟各位說明。而其中也可以去定義一些全局的資源 (resource) 或是全局的方法來使用,
- MainPage.xaml
預設的起始頁面檔案
- ApplicationIcon.png (63 * 63 pixels)
應用程式行表中使用的圖形,如果沒有指定則會縮小 Background 的圖形作為清單的應用程式圖形
- Background.png (173 * 173 pixels)
<!--[if !supportLists]-->· <!--[endif]-->作為 Tile (位于首頁上應用程式的連結) 上的應用程式的背景圖案,支援 jpg、png 檔案格式
<!--[if !supportLists]-->· <!--[endif]-->過大或是太小的圖形将會被自動縮放
- SplashScreenImage.jpg (480 * 800 pixels)
應用程式啟動後,Mainpage.xaml 加載完成之前的等待畫面