天天看點

windows phone 7項目的結構體系

首先建一個windows phone 7的項目

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 加載完成之前的等待畫面

繼續閱讀