Windows Phone 學習筆記 (2) - Hello Windows Phone 7

Windows Phone - Hello

接下來藉由簡單的專案來瞭解Windows Phone的基本結構。

Windows Phone 專案

安裝完 SDK 後,VS(Visual Studio)的樣板會多出「Silverlight for Windows Phone」,點選樣板中的「Windows Phone應用程式」即可建立專案。

檔案結構

xaml 及 cs 檔

Windows Phone 應用程式以 xaml 檔來設計畫面,以 cs 檔來撰寫程式邏輯。在方案總管中點擊 MainPage.xaml 左方的小箭頭,會看到相關的 MainPage.xaml.cs 出現在xaml檔案之下。

MainPage.xaml 的任務就是 App 版面的編排。編輯視窗被分為兩個,一個用來顯示 App 實際的呈現結果;另一個則是 xaml 碼。兩個其實是指向同一個東西,也就是版面的呈現,當你直接拖拉控制項到畫面時,VS 會自動新增對應的 xaml 標籤;相對的,當你直接在xaml檔中手動鍵入標籤時,畫面也會即時呈現。

C# 程式碼當然就是寫在 MainPage.xaml.cs 中。

Propertys\WMAppmanifest.xml

這個檔案用來記錄應用程式的相關屬性描述,以及定義應用程式的功能性(決定是否使用硬體裝置的某項功能)。
<App>標籤:
  • ProductID:代表應用程式的 GUID 字串
  • Title:專案的預設名稱,這裡的文字也會顯示在應用程式清單列表
  • RuntimeType:設定應用程式是 Silverlight 或是 XNA 的類型
  • Version:應用程式的版本編號
  • Genre:當應用程式為 Silverlight 時會為 apps.normal,apps.game 則為 XNA
  • Author:開發者名稱
  • Description:應用程式的描述 (說明)
  • Publisher:這個值預設會是專案的名稱,當您的應用程式有使用到 Push 的相關功能,這個值是一定要有的
<Capabilities>標籤:
在這個區塊中描述了應用能夠使用的功能性,例如能否使用網路等等,若刪除就是不能使用。
<Tasks>標籤:
這個是應用程式內部使用的,通常不需要修改。但若第一個顯示的頁面名稱不是 MainPage 的話就必須把 NavigationPage 屬性的值修改成第一個顯示的頁面的名稱。
<Tokens>標籤:
用來設定當應用程式被加入 Tile (即WP7的主畫面的動態磚)時的相關設定。

App.xaml

與 App.xaml.cs 預設包含了 Lifecycle (應用程式生命週期) 的相關事件處理,包含初次啟動、失去焦點 (通常發生在使用者啟動另外一個應用程式) 等等的相關處理。也可以在此定義一些全域的資源 (resource) 或是全域的方法來使用。

ApplicationIcon.png

應用程式列表中使用的圖形,尺寸為 63 x 63 pixels。

Background.png

Tile (動態磚) 上的應用程式的背景圖案,尺寸為 173 x 173 pixels。

SplashScreenImage.jpg

應用程式啟動後,MainPage.xaml 載入完成之前的等待畫面,名稱不能變動,編譯選項必須為內容 (content),尺寸為 480 x 800 pixels。

XAML

XAML 是基於 XML 發展出的一種描述語言,專門用於描述 Silverlight/WPF 的介面語言。在XAML中使用 xmlns 來引入命名空間,在後續的 XAML 中就可以使用相關的控制項或其命名空間中的類別。

在 XAML 中可以使用 StoryBoard 這個標籤來製作一系列的動畫,若動畫太過複雜,通常會使用微軟的另一設計工具 Blend 來製作。

雖然可以透過拖拉控制項的方式來設計畫面,但有些時候還是必須以手動輸入方式來設計 XAML,像是給資料綁定用的資料樣板等,所以建議要熟悉 XAML 的語法。

第一支 Windows Phone App

每個 Windows Phone 的預設頁面,最上方都會有 ApplicationTitle 及 PageTitle 這兩個文字框,我們寫一支超級簡單的程式:按下按鈕,將這兩個 Title 中的文字換掉。

首先,從工具箱中拉一個按鈕(Button)到畫面中,接著去改變按鈕的 Content 屬性為"Say",然後在按鈕上連點兩下來設定 Click 事件。

VS會自動將編輯畫面切換到cs檔,在按鈕處理函式中輸入程式碼來改變 Title 的值:
private void button1_Click(object sender, RoutedEventArgs e)
{
    ApplicationTitle.Text = "Hello Windows Phone";
    PageTitle.Text = "Seven";
}
完成後就可執行了。第一次執行時會開啟模擬器,之後不必把它關掉,只要在 VS 中停止程式執行即可,之後可以反覆利用模擬器而無需開開關關。
本文網址:http://blog.tonycube.com/2012/06/windows-phone-2-hello-windows-phone-7.html
Tony Blog 撰寫,轉載時請註明出處及文章連結,謝謝 😀

我要留言

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。