WindowsPhone項目組織結(jié)構(gòu)&簡單登陸例子(上)
一:準(zhǔn)備好開發(fā)環(huán)境,win7+VS2010sp1+wp7 sdk7.1
注釋:操作系統(tǒng)是必須是WIN7的,當(dāng)然XP上安裝VS2010 Express for window phone 也是有的??蓞⒖迹?a rel="nofollow">http://www.iwp7.com/archives/3882
我這里用的是WP7 SDK7.1RC版,最新的,增加了500多項新特性。下載地址是:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27153
我用的是旗艦版本的VS2010,因為它自帶了很多東西提供開發(fā)使用,不單是WP7支持,很遺憾的是我在安裝VS2O10后再安裝WP7 SDK 7.1RC 竟然報不能安裝,它需要的是SP1支持,所以呢,我就更新了開發(fā)工具為VS2010SP1,大家也麻煩點吧。地址是:http://www.microsoft.com/download/en/details.aspx?id=23691
介紹完開發(fā)工具后,我們就來開發(fā)吧,其實安裝時需要很長時間的。
二:File-->New Project,我們會看到許多項目模板,這里我們先選擇第一項window phone application吧。
1:window phone application:標(biāo)準(zhǔn)的單頁面WP7應(yīng)用程序。
2:window phone Databound application:多頁面WP7應(yīng)用程序。它提供了一個Title 和Summary --(標(biāo)題欄、備注欄),然后在以LIST列表方式呈現(xiàn)出來.
3:window phone class library :提供使用的類庫,這是作為用戶封裝類庫項5目使用的。
4:Windows Phone Panorama Application:全景圖的應(yīng)用程序開發(fā)模板,針對屏幕比較小但要顯示大內(nèi)容的時用到,我們可以拖動畫面來查看全部內(nèi)容。
5:Windows Phone Pivot Application:把Application 界面當(dāng)成圓形轉(zhuǎn)輪,在里面的父窗口都是以一個軸為中心點,不管用戶怎么選擇都會輪換切換。類似于Tab.
6:其它的比如播放器使用的就不一一介紹了。
三:認(rèn)識項目。
這里我們一一說明:
1:App
App.xaml:這里主要存放一些全局使用的資源,比如樣式Style資源等。也定義了軟件生命周期的各個事件,
- <shell:PhoneApplicationService
- Launching="Application_Launching" Closing="Application_Closing"
- Activated="Application_Activated" Deactivated="Application_Deactivated"/>
App.xaml.cs:這里主要是軟件生命周期中事件實現(xiàn),已經(jīng)保存全局變量或者數(shù)據(jù)等(比如:登陸用戶賬號,密碼等),同時也包括了軟件頂級容器:PhoneApplicationFrame
以上可以看出App主要是保存或者是定義全局的地方,你寫程序的時候可以考慮需要保存全局的。:
2:MainPage
MainPage.xaml:主要是定義軟件的UI界面,是個“分部類”,是繼承phone:PhoneApplicationPage 頁面的。在這里我們一般是書寫軟件的UI,當(dāng)然也可以保存Style資源,動畫資源,但這個是局部的,在本界面有效。
- xmlns 默認(rèn)的空間,如果在UI里面控件沒有前綴則代表它屬于默認(rèn)的名字空間。例如,mainPages 里面的Grid 標(biāo)簽。
- xmlns:x代表專屬的名字空間,比如一個控件里面有一個屬性叫name 那么 x:name 則代表這個name 代表xaml的名字空間。
- xmlns:phone 包含在Miscroft.phone 的引用DLL
- xmlns:shell 包含在Miscroft.sell的引用DLL,此文件可以幫助我們管理就用的生命周期。
- xmlns:d 呈現(xiàn)一些設(shè)計時的數(shù)據(jù),而應(yīng)用真正運行起來時會幫我們忽略掉這些運行時的數(shù)據(jù),比如下文件的d:DesignWidth="480" d:DesignHeight="768"然后在如下的名字空間會忽略掉這些數(shù)據(jù)。
- xmlns:mc 布局的兼容性,這里主要配合xmlns:d 使用,它包含Ignorable屬性,可以在運行時忽略掉這些設(shè)計時的數(shù)據(jù)。
MainPage.xaml.cs:這個內(nèi)置類,與MainPage.xaml合并為一個類,這里主要是書寫C#,VB代碼的地方,以及處理事件,播放動畫等等。
3:ApplicationIcon.png(應(yīng)用程序ICON),Background.png(程序ICon背景),SplashScreenImage.jpg(加載歡迎頁面圖)
4:AppManifest.xml:
應(yīng)用列表,會打包并發(fā)布,文件作用是把我們需要布署和發(fā)布的所有文件列表列出來。
5:AssemblyInfo.cs:程序集中包含的軟件名稱、語言版本以及公司信息等。
6:WMAppManifest.xml:包含了Wp7 的一些特殊屬性,定義可用能力,讓它支持比如游戲服務(wù)、本地化、網(wǎng)絡(luò)鏈接、瀏覽器等功能; 默認(rèn)啟動界面任務(wù)類;還可以定義應(yīng)用程序的圖片等.
- <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="PhoneAppToken" TaskName="_default">
- <TemplateType5>
- <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
- <Count>0</Count>
- <Title>PhoneApp</Title>
- </TemplateType5>
- </PrimaryToken>
- </Tokens>
- </App>
- </Deployment>