Windows Phone開發(4):架構和頁 轉:http://blog.csdn.net/tcjiaan/article/details/7263146

來源:互聯網
上載者:User
在開如之前,我想更正一個小問題,之前我在第一篇文章中說,Visual Studio Express for Windows Phone的中文版沒有簡體中文,那是因為我是在英文首頁上下載的,語言挑選清單中只有一個中文,但是繁體的,後來,我發現Windwos Phone SDK是有簡體中文版的,順便我也給出。
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0a373422-6680-46a7-89e1-e9a468a14259可以線上安裝,如果你的網速不給力的話,可以下載ISO鏡像本地安裝。----------------------------------上一篇文章中,我們瞭解了WP應用程式的生命週期和各個事件的觸發情況,今天,我們一起來探討一下架構和頁面。理論枯躁的東西就不講了,MSDN上都有的,具體一點,我們隨便建立一個WP應用程式項目,接著開啟App.xaml.cs檔案瞧瞧,看看裡面有沒有“新大陸”?1、一個App類,從
Application派生,這跟Silverlight中是一樣的,當然,如果你對Silerlight不熟悉也不要緊,我簡單吹一下。
我想各位玩過C#的,不管怎麼說也應該玩過Windows表單應用程式吧,對,就是我們常說的WinForm項目,在WindowsForm項目裡面,有一個Program.cs之類的檔案,程式的進入點就在裡面定義,在Main的最後,VS預設產生的程式碼中有這麼一行:Application.Run(...);
所以,這個Application和那個Application的意義是一樣,專門負責整個應用程式範圍的各種事務的協調。2、我們會注意到App裡面有一個公用屬性RootFrame,這就是主架構,一個WP應用程式只有一個主架構。    3、主架構下面是頁,主架構中可以包含1個或N多個頁面。4、頁面這個概念很好理解,就像我們平時看到的一個表單,只不過在Silverlight裡面叫頁,所以,我們也可以聯想起Web頁面。在Android裡面叫一個Activity,其實所指的東東是一樣的,只是叫法不同罷了。所示為一個頁。  好的,下面來看一下一個頁面是如何構成的。
先來看看頁面的XAML聲明部分。

[html] view plaincopyprint?

  1. <phone:PhoneApplicationPage   
  2.     x:Class="phoneApp.MainPage"  
  3.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  4.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  5.     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"  
  6.     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"  
  7.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
  8.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
  9.     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"  
  10.     FontFamily="{StaticResource PhoneFontFamilyNormal}"  
  11.     FontSize="{StaticResource PhoneFontSizeNormal}"  
  12.     Foreground="{StaticResource PhoneForegroundBrush}"  
  13.     SupportedOrientations="Portrait" Orientation="Portrait"  
  14.     shell:SystemTray.IsVisible="True">  
  15.   
  16.     ……………………  

我們看到,每一個頁面都是PhoneApplicationPage的子類,它是繼承自Silverlight中的Page類。
因為程式是面向WP手機的,所以注意要使用PhoneApplicationPage而不是用Page類,這樣可以避免出問題。Class屬性就是我們這個頁面類的類名。有兩個命名空間我們要注意一下的:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"d可以理解為是設計時的狀態,d:DesignWidth="480"就是說這個寬度和高度只是在設計時有效,也就是我們在設計器中看到的大小,並不意味著真正運行起來是這個值,有可能會隨著手機螢幕的不同而自動調整,所以我們不應該刻意地設定頁面的寬度和高度,以免被固定了,不能自動調整。mc是什麼呢?從語義上翻譯是,是標記相容性性相關的內容,其中我們看到一句:mc:Ignorable="d",正如上面所說,d:DesignWidth是設計時的,所以,Ignorable="d"就是告訴編譯器在實際運行時,忽略設計時設定的值。SupportedOrientations用於設定頁面支援的方向,如果我們希望在手機螢幕被使用者旋轉後,程式能夠自動跟著調整,就相應地修改該屬性。
Orientation屬性就是用來設定當前頁面的預設方向,是縱向的還是橫向的。下面,一起來做個練習,把SupportedOrientations改為PortraitOrLandscape,再把Orientation改為除None以外的其它值,然後運行,把手機向不同方向旋轉,看看怎麼樣?      這個大家多改改,多試幾次就明白了,挺有意思的。還有一個,shell:SystemTray.IsVisible="True"用於設定是否隱藏系統托盤,我們把它設定為True時,運行程式,把滑鼠移到頁面頂部點擊一下,我們就會看到系統托盤了,如顯示當前手機訊號強度,電池剩餘量等資訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.