<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Windows Phone開(kāi)發(fā)(4):框架和頁(yè)

          Windows Phone開(kāi)發(fā)(4):框架和頁(yè)

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏
          在開(kāi)如之前,我想更正一個(gè)小問(wèn)題,之前我在第一篇文章中說(shuō),Visual Studio Express for Windows Phone的中文版沒(méi)有簡(jiǎn)體中文,那是因?yàn)槲沂窃谟⑽闹黜?yè)上下載的,語(yǔ)言選擇列表中只有一個(gè)中文,但是繁體的,后來(lái),我發(fā)現(xiàn)Windwos Phone SDK是有簡(jiǎn)體中文版的,順便我也給出下載地址。
          http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0a373422-6680-46a7-89e1-e9a468a14259
          可以在線安裝,如果你的網(wǎng)速不給力的話,可以下載ISO鏡像本地安裝。
          ----------------------------------

          上一篇文章中,我們了解了WP應(yīng)用程序的生命周期和各個(gè)事件的觸發(fā)情況,今天,我們一起來(lái)探討一下框架和頁(yè)面。
          理論枯躁的東西就不講了,MSDN上都有的,具體一點(diǎn),我們隨便新建一個(gè)WP應(yīng)用程序項(xiàng)目,接著打開(kāi)App.xaml.cs文件瞧瞧,看看里面有沒(méi)有“新大陸”?

          1、一個(gè)App類,從
          Application派生,這跟Silverlight中是一樣的,當(dāng)然,如果你對(duì)Silerlight不熟悉也不要緊,我簡(jiǎn)單吹一下。
          我想各位玩過(guò)C#的,不管怎么說(shuō)也應(yīng)該玩過(guò)Windows窗體應(yīng)用程序吧,對(duì),就是我們常說(shuō)的WinForm項(xiàng)目,在WindowsForm項(xiàng)目里面,有一個(gè)Program.cs之類的文件,程序的入口點(diǎn)就在里面定義,在Main的最后,VS默認(rèn)生成的代碼中有這么一行:Application.Run(...);
          所以,這個(gè)Application和那個(gè)Application的意義是一樣,專門負(fù)責(zé)整個(gè)應(yīng)用程序范圍的各種事務(wù)的協(xié)調(diào)。
          2、我們會(huì)注意到App里面有一個(gè)公共屬性RootFrame,這就是主框架,一個(gè)WP應(yīng)用程序只有一個(gè)主框架。
          3、主框架下面是頁(yè),主框架中可以包含1個(gè)或N多個(gè)頁(yè)面。
          4、頁(yè)面這個(gè)概念很好理解,就像我們平時(shí)看到的一個(gè)窗體,只不過(guò)在Silverlight里面叫頁(yè),所以,我們也可以聯(lián)想起Web頁(yè)面。在Android里面叫一個(gè)Activity,其實(shí)所指的東東是一樣的,只是叫法不同罷了。下圖所示為一個(gè)頁(yè)。
          好的,下面來(lái)看一下一個(gè)頁(yè)面是如何構(gòu)成的。
          先來(lái)看看頁(yè)面的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. ……………………

          我們看到,每一個(gè)頁(yè)面都是PhoneApplicationPage的子類,它是繼承自Silverlight中的Page類。
          因?yàn)槌绦蚴敲嫦騑P手機(jī)的,所以注意要使用PhoneApplicationPage而不是用Page類,這樣可以避免出問(wèn)題。Class屬性就是我們這個(gè)頁(yè)面類的類名。
          有兩個(gè)命名空間我們要注意一下的:
          xmlns:d=http://schemas.microsoft.com/expression/blend/2008
          xmlns:mc=http://schemas.openxmlformats.org/markup-compatibility/2006
          d可以理解為是設(shè)計(jì)時(shí)的狀態(tài),d:DesignWidth=480就是說(shuō)這個(gè)寬度和高度只是在設(shè)計(jì)時(shí)有效,也就是我們?cè)谠O(shè)計(jì)器中看到的大小,并不意味著真正運(yùn)行起來(lái)是這個(gè)值,有可能會(huì)隨著手機(jī)屏幕的不同而自動(dòng)調(diào)整,所以我們不應(yīng)該刻意地設(shè)置頁(yè)面的寬度和高度,以免被固定了,不能自動(dòng)調(diào)整。
          mc是什么呢?從語(yǔ)義上翻譯是,是標(biāo)記兼容性相關(guān)的內(nèi)容,其中我們看到一句:mc:Ignorable=d,正如上面所說(shuō),d:DesignWidth是設(shè)計(jì)時(shí)的,所以,Ignorable=d就是告訴編譯器在實(shí)際運(yùn)行時(shí),忽略設(shè)計(jì)時(shí)設(shè)置的值。
          SupportedOrientations用于設(shè)置頁(yè)面支持的方向,如果我們希望在手機(jī)屏幕被用戶旋轉(zhuǎn)后,程序能夠自動(dòng)跟著調(diào)整,就相應(yīng)地修改該屬性。
          Orientation屬性就是用來(lái)設(shè)置當(dāng)前頁(yè)面的默認(rèn)方向,是縱向的還是橫向的。
          下面,一起來(lái)做個(gè)練習(xí),把SupportedOrientations改為PortraitOrLandscape,再把Orientation改為除None以外的其它值,然后運(yùn)行,把手機(jī)向不同方向旋轉(zhuǎn),看看怎么樣?
          這個(gè)大家多改改,多試幾次就明白了,挺有意思的。
          還有一個(gè),shell:SystemTray.IsVisible=True用于設(shè)置是否隱藏系統(tǒng)托盤,我們把它設(shè)置為True時(shí),運(yùn)行程序,把鼠標(biāo)移到頁(yè)面頂部點(diǎn)擊一下,我們就會(huì)看到系統(tǒng)托盤了,如顯示當(dāng)前手機(jī)信號(hào)強(qiáng)度,電池剩余量等信息。


          關(guān)鍵詞: Windows Phone

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();