• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Windows Phone開發(4):框架和頁

    Windows Phone開發(4):框架和頁

    作者: 時間:2016-09-12 來源:網絡 收藏
    在開如之前,我想更正一個小問題,之前我在第一篇文章中說,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]
    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=dd:DesignWidth=480d:DesignHeight=768
    10. FontFamily={StaticResourcePhoneFontFamilyNormal}
    11. FontSize={StaticResourcePhoneFontSizeNormal}
    12. Foreground={StaticResourcePhoneForegroundBrush}
    13. SupportedOrientations=PortraitOrientation=Portrait
    14. shell:SystemTray.IsVisible=True>
    15. ……………………

    我們看到,每一個頁面都是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時,運行程序,把鼠標移到頁面頂部點擊一下,我們就會看到系統托盤了,如顯示當前手機信號強度,電池剩余量等信息。


    關鍵詞: Windows Phone

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 海门市| 靖安县| 公主岭市| 隆安县| 霍邱县| 东海县| 新平| 嘉善县| 庆元县| 福鼎市| 平塘县| 花莲市| 墨脱县| 蓬溪县| 泰来县| 綦江县| 吴忠市| 海安县| 台南县| 乌拉特后旗| 万安县| 蒙阴县| 黄骅市| 葫芦岛市| 慈利县| 昆明市| 临海市| 莫力| 新龙县| 晴隆县| 讷河市| 萨迦县| 永安市| 洪湖市| 建瓯市| 霞浦县| 三门县| 扎鲁特旗| 县级市| 北川| 昌都县|