Windows Phone 8初學者開發—第3部分:編寫第一個Windows Phone 8應用程序


原文地址:

http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-3-Writing-your-First-Windows-Phone-8-App

系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners

源代碼: http://aka.ms/absbeginnerdevwp8 

PDF版本: http://aka.ms/absbeginnerdevwp8pdf

既然我們已將需要的工具安裝完畢,我們可以着手創建第一個Windows Phone 8應用程序了。

以下是我們的計划:

  1. 我們將創建一個新的Windows Phone應用程序項目
  2. 我們將進行一些簡單的編輯,例如刪除注釋,添加媒體控件(MediaControl)和按鈕控件並應用樣式。
  3. 我們將編寫響應按鈕單擊事件的事件處理程序
  4. 在按鈕單擊事件處理程序中我們將播放聲音文件

1.  創建新的Windows Phone應用程序項目,並將它命名為“PetSound”

根據以往的經驗或者通過觀看Channel9的其他絕對初學者系列,您應該已經熟悉了創建新項目、添加新文件等一些基本的步驟。我不會花時間解釋上述內容。如果對某些內容不熟悉,您可以再次復習絕對初學者的C#系列教程(C# for Absolute Beginners series)。

  1. 文件
  2. 新建
  3. 項目 ...

在新建項目對話框中:

 

  1. 確認您位於Windows Phone項目模板
  2. 選擇Windows Phone應用程序模板
  3. 重命名為PetSounds
  4. 確認解決方案名稱也被修改為“PetSounds”
  5. 單擊OK

您將看到以下對話框:

 

 由於本系列僅針對Windows Phone OS 8.0,因此選擇該選項。如果您想擴展您的應用程序至老版本的Windows Phone設備,在剛才的步驟中您可以選擇針對以前版本的Windows Phone操作系統。

2. 刪除不需要的注釋以更方便地定位代碼

新項目將很快被創建並加載到解決方案管理器中,同時MainPage.xaml將出現在Visual Studio的主區域中。如MainPage.xaml中所示,這些“屏幕”被稱為“頁面”。在我們的第一個應用程序中,我們僅使用一個頁面,但是在其他應用程序中我們將添加多個頁面並在它們之間進行導航。

我假設您以前從來沒有接觸過Windows Phone 項目模板。您將看到MainPage.xaml被加載到可視化設計器中。

 

 

  1. 左側是可視化設計器。雖然您可將它作為向Windows Phone應用程序放置和添加控件的主要手段,但是我主要將它作為XAML編輯窗格所做工作的反饋來使用。
  2. 右側是XAML編輯窗格。我通常以手寫方式編寫XAML。我在XAML代碼中進行的修改將反映在可視化設計器中,反之亦然。它們代表看事物的兩個角度,但實際上表示相同的事物。

在窗格下面有若干工具:

 

並且在窗格之間:

 

您可以任意對它們進行試驗。它們是自解釋的,您需要花些時間試一試然后就能理解它們的用途。但是因為它不是課程的重點,所以我將繼續下面的內容。在XAML窗格中,我想刪除兩個大段的注釋以更方便地瀏覽XAML。我已在下圖中將它們標出:

 

您可以安全地刪除這些注釋。確保從以下位置開始刪除:
<!--
至以下位置結束...
-->

刪除后的XAML如下所示:

 

 在本課中我們將注意力集中在從36行開始的"ContentPanel(內容窗格)",並在 <Grid>元素的開始和結束之間添加新的XAML代碼。

3. 向ContentPanel添加按鈕並應用樣式

在<Grid>元素的開始和結束之間添加以下代碼:

 

一旦添加了:

<Button>Quack</Button>

代碼,注意可視化設計器的變化:

 

按鈕幾乎占據了整個屏幕。這樣不行,我們需要通過設置Height和Width屬性限制按鈕的大小。

 

值”200”指”200像素”。

可視化設計器更新為一個較小的按鈕:

 

讓我們將Button控件移動到頁面的左上角(頁面標題的下方)並將背景色設置為紅色:

 

我同時為<Button>控件提供了一個名稱,這樣我就可以在C#中對該控件進行引用。設置控件的名稱是可選的。僅在需要用C#訪問這些控件時才需要設置控件的名稱。我知道我需要訪問這些按鈕,所以我為按鈕提供了可編程的名稱。

可視化設計器更新並顯示了修改的效果:

 

 這是很好的開始。您已看到我們可以通過設置對象的屬性在Windows Phone頁面中控制對象的可視化形態。

4. 添加MediaElement(媒體元素)控件

接下來,讓我們向XAML添加一個MediaElement控件,它位於Button控件的下方。

 

注意我可以在XAML代碼之間添加空格和額外的空行,這不會對代碼有任何影響。您接下來將看到Visual Studio將會自動縮進並以一定間隔排列代碼以增加代碼的可讀性,但是它不會影響頁面的呈現方式。

 此外我還未設置MediaElement的Sound屬性。因為在項目中還沒有可以選擇的來源(即聲音文件等媒體元素)。

5. 在項目中添加聲音文件

確認您已經下載隨視頻一起出現的資產文件。您可以在下載本文檔或觀看視頻的位置下載到它們。

我已將文件解壓縮到稱為C9Phone8的文檔目錄中。C9Phone8目錄包含3個子目錄:

我們需要使用包含在PetSounds_Assets文件夾中的資產。在此文件夾中有兩個子文件夾,我們需要將Audio子文件夾拷貝到項目中。

 

 

Audio文件夾的目標是項目中的Assets子文件夾:

 

 我從Windows資源管理器中拖動並釋放Audio文件夾至Visual Studio解決方案資源管理器中的目標目錄,即Assets文件夾。將所有內容展開后,現在我的Assets文件夾看起來是這樣:

 

在應用程序中有若干.wav聲音文件。我需要訪問Duck.wav這個文件。我將它添加為MediaElement中的Source屬性。

 

首先,注意我添加了相對MainPage.xaml文件的完整子文件夾路徑,MainPage.xaml位於項目的根目錄。

其次,注意我同時添加了兩個屬性。我將Volume設置為”1”,它代表聲音最大。Windows Phone API中許多設置從最小值0.0到最大值1.0,0.5位於中間。大多數這些值是C#中的Double類型。

第三,我需要當有人點擊按鈕時以編程方式訪問此控件以觸發聲音的回放,因此我需要設置MediaControl的名稱。您也許想知道x:前綴的作用。我將在下節課解釋。現在請暫時放一放。

 最后我將AutoPlay屬性設置為”False”。如果設置為”True”,Duck.wav聲音文件將在應用程序加載時立即播放。這不是我需要的。我需要在單擊”Qack”按鈕時觸發wav文件的播放。我將在下一節通過編寫代碼來實現。

6. 為按鈕單擊事件添加事件處理程序

在<Button> XAML元素中,我將添加Click=””屬性。Visual Studio的智能感知功能提供了創建一個新的事件處理程序的功能。

 

 確認該選項被高亮顯示,我將單擊鍵盤上的回車鍵以為事件處理程序生成一個名稱。

 

我將編寫當用戶單擊按鈕時執行的代碼,因此我將定位到PlayAudioButton_Click()方法並在這里編寫C#代碼。

我在那一行代碼的任意位置單擊右鍵並從上下文菜單中選擇“定位到事件處理程序”:

 

這將在Visual Studio中打開名稱為MainPage.xaml.cs的文件。

如果您是在Visual Studio中創建Windows,Web以及現在的手機應用程序的新手,您將會意識到我們創建的這些頁面由兩部分組成。XAML和設計視圖允許我們編寫聲明性的代碼(XAML)。與之相關的代碼視圖(.cs文件)允許我們在C#中定義行為。它們都是同一概念的組成部分。以后會經常這樣:您的光標將會出現在PlayAudioButton_Click()方法的開始和結束大括號之間。

 

因為只要有人點擊Quack按鈕,代碼塊就會執行,所以我們需要觸發MediaElement播放在Source屬性中設置的聲音,即Quack.wav文件。

 

我使用MediaElement的名稱QuackMediaElement,通過編程的方法對它進行訪問。我需要調用Play()方法來啟動Source屬性指向文件的回放,換句話說就是Quack.wav文件。

 現在讓我們測試應用程序。

7. 運行應用程序

 您將對以下內容很熟悉。通過使用工具欄中的播放按鈕或使用鍵盤上的F5鍵,您將在調試模式下運行應用程序,與我們在C#基礎系列(C# Fundamentals series)中運行控制台應用程序的方法相同。

 

接下來將看到Windows Phone模擬器。它是運行Windows Phone 8.0的虛擬機。換句話說,操作系統實際上認為它是運行在一部物理手機設備上。但是它是虛擬的,即微軟創建了從各個方面模仿手機硬件的軟件。我們將在此系列中經常使用手機模擬器,因為每次需要測試編寫的代碼或者對代碼進行修改時,模擬器比部署測試至物理手機要來得簡單。在本系列中,我們將了解更多有關手機模擬器的特性。

 

請使用鼠標來模擬使用手指單擊手機的屏幕。您需要單擊紅色的Quack按鈕。如果計算機被設置為可以聽到聲音,您將從耳機或揚聲器中聽到鴨子的嘎嘎聲。

如果需要停止調試,單擊工具欄中的紅色方塊按鈕。

 

 

回顧

快速回顧一下,在本課中您創建了一個簡單的聲音面板應用。我們學習了如何創建Windows Phone項目,如何修改聲明性的XAML代碼以添加並配置控件。我們學習了如何在項目中添加資產文件並在代碼中對其進行引用,如何添加事件處理程序以對終端用戶觸發的特定事件進行響應。我們學習了MainPage.xaml和MainPage.xaml.cs是如何進行關聯的,我們將在下節課中學習更多的內容。我們學習了如何觸發控件的方法以在用戶點擊按鈕時播放聲音。最后我們學習了Windows Phone模擬器可以作為虛擬環境下測試應用的方法。

但是還有很多內容需要討論。如果您是XAML方面的新手,具備這方面的堅實基礎對您來說非常重要,因此在下一節課我們將討論XAML的特性,本系列的其余部分將始終在這些特性之上進行構建。正如我在開篇中所說的,您在這里學習的很多內容將可以遷移到使用XAML的所有API(應用程序接口),例如Windows Presentation Foundation和Windows應用商店應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM