999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

WP8 Metro開發(fā)

2014-11-19 14:39:32高立軍
科技創(chuàng)新導(dǎo)報 2014年17期

高立軍

摘 要:Windows 8是微軟公司于2012年推出的繼Windows7之后的新一代電腦操作系統(tǒng),采用與Windows Phone 8相同的NT 內(nèi)核,該操作系統(tǒng)除了具備微軟適用于筆記本電腦和臺式機平臺的傳統(tǒng)窗口系統(tǒng)顯示方式外,還特別強化適用于觸控屏幕的平板電腦設(shè)計,使用了新的接口風格Metro,這種應(yīng)用程序和我們傳統(tǒng)看到的Windows應(yīng)用最大的不同就是它是為觸摸屏設(shè)備而設(shè)計的。

關(guān)鍵詞:Metro 開發(fā)模式 窗口和布局

中圖分類號:TP31 文獻標識碼:A 文章編號:1674-098X(2014)06(b)-0039-02

在新的開始菜單里,Win8在支持觸摸屏的同時,定義了一套在Win8上面的手勢語言。Win8為觸摸設(shè)備提供的觸摸鍵盤,使用體驗感覺很好,很靈敏,按下去在屏幕上會有被按的效果。除此之外,Win8還帶來了以下的幾個新特性:支持ARM * 2;Win8一個賬戶可以伴隨著你在不同的設(shè)備上;更加有效的App管理方式;支持多種設(shè)備,多種屏幕尺寸;更加社交化,以及和微博無縫整合。

1 Windows 8 開發(fā)模式

目前Metro app支持三種不同的開發(fā)模式:(1)XAML+C#/VB;(2)XAML/DirectX+C++;(3)HTML5+JS+CSS,組成部分Model、View、ViewModel。View是指UI界面。ViewModel是View的抽象,負責View與Model之間信息轉(zhuǎn)換,將View的Command傳送到Model。Model是數(shù)據(jù)訪問層。

2 MVVM(Model-View-ViewModel)

View與ViewModule連接可以通過下面的方式:Binding Data實現(xiàn)數(shù)據(jù)的傳遞。command實現(xiàn)操作的調(diào)用,ttachBehavior實現(xiàn)控件加載過程中的操作。View沒有大量代碼邏輯。結(jié)合WPF、Silverlight綁定機制,MVP演變出了MVVM,充分利用了WPF、Silverlight的優(yōu)勢,將大量代碼邏輯、狀態(tài)轉(zhuǎn)到 ViewModel,可以說MVVM是專門為WPF、Silverlight打造的。View綁定到ViewModel,然后執(zhí)行一些命令在向它請求一個動作。而反過來,ViewModel跟Model通訊,告訴它更新來響應(yīng)UI。這樣便使得為應(yīng)用構(gòu)建UI非常的容易。往一個應(yīng)用程序上貼一個界面越容易,外觀設(shè)計師就越容易使用Blend來創(chuàng)建一個漂亮的界面。同時,當UI和功能越來越松耦合的時候,功能的可測試性就越來越強。Windows 8中可以啟動多個應(yīng)用并在其中切換,我們沒有必要擔心降低系統(tǒng)速度或消耗電池電量,因為系統(tǒng)會自動掛起(有時會終止)在后臺正在運行的應(yīng)用。設(shè)計良好的應(yīng)用可以由系統(tǒng)掛起、終止以及重新啟動來體現(xiàn),并且在這過程中看起來該應(yīng)用一直在運行。

3 Metro Application原理

(1)當激活了應(yīng)用時,無論任何原因,系統(tǒng)都會發(fā)送Activated事件;(2)每當用戶切換到桌面或其他應(yīng)用時,系統(tǒng)都會掛起你的應(yīng)用,系統(tǒng)會發(fā)送Suspending事件;(3)每當用戶切回到你的應(yīng)用時,系統(tǒng)就會恢復(fù)你應(yīng)用,系統(tǒng)會發(fā)送Resuming事件。

當用戶啟動應(yīng)用程序,該應(yīng)用在生命周期中可以發(fā)生哪些變化呢?(1)運行的應(yīng)用,可以進行掛起,變成掛起的應(yīng)用;(2)掛起的應(yīng)用,可以進行恢復(fù),變成運行的應(yīng)用;(3)掛起的應(yīng)用,如果系統(tǒng)內(nèi)存不足,將直接被干掉。

在任何桌面應(yīng)用程序中,窗口都是基本的組成要素,以至于操作系統(tǒng)都根據(jù)它命名。盡管Metro提供了導(dǎo)航應(yīng)用程序的模型,該模型用于創(chuàng)建能夠?qū)⑷蝿?wù)分割到單獨頁面中的應(yīng)用程序,但是對于創(chuàng)建應(yīng)用程序,窗口仍然是這一領(lǐng)域的象征。

4 窗口

Window類繼承自ContentControl類,這意味著它只能包含當子元素(通常是一個布局容器,如Grid控件),并且可以使用由Background屬性設(shè)置的畫刷繪制背景。通常還可以使用BorderBrush和BorderThickness屬性在在窗口周圍添加邊框,但是 該邊框會被添加到窗口框架之內(nèi)(在客戶去邊緣周圍)。可以通過將WindowStyle屬性設(shè)置為None完全移除窗口框架,從而可以創(chuàng)建一個完全定制的窗口。此外Window類還添加了不少部分成員,任何一個Windows編程人員都會熟悉這些成員。最明顯的是與外觀相關(guān)的屬性,使用這些屬性可以改變窗口客戶區(qū)部分的顯示方式。Application類提供了用于訪問其他窗口的兩個工具:MainWindow和Windows屬性。如果希望使用更靈活的方式跟蹤窗口,可以在Applocation類中添加靜態(tài)屬性。窗口交互是指獲取其他窗口的引用。作為通信規(guī)則,應(yīng)當竟可能的減少窗口之間的交互需要,因為這會沒有必要的增加代碼的復(fù)雜性,如果確實需要根據(jù)一個窗口的動作修改另一個窗口的控件,可以在目標窗口中添加一個方法,從而使窗口的接口變得簡單易行。對于時髦的客戶端應(yīng)用程序,經(jīng)常會使用形狀不規(guī)則的窗口,且對于Metro應(yīng)用程序使用不規(guī)則窗口會更常見。在Metro中創(chuàng)建和使用基本形狀的窗口是非常容易的,然而創(chuàng)建精致的、具有專業(yè)外觀的窗口需要完成更多工作,并且很可能需要由優(yōu)秀的圖形設(shè)計人員創(chuàng)建輪廓并設(shè)計背景插圖。

5 布局

Windows 8為開發(fā)人員提供豐富的布局控件,以達到應(yīng)用布局設(shè)計需求。其中包括:* Grid、Canvas、StackPanel、WrapGrid、VariableSized WrapGrid、Virtualizing StackPanel以上布局控件皆派生自Panel類,而Panel類可以裝載不同類型的控件作為子控件。Grid是類似于HTML表格的一種布局控件,由于其靈活性高,所以在應(yīng)用設(shè)計中經(jīng)常被使用到。一個Grid控件包含一個Row(行)和Column(列)的集合。開發(fā)人員可以將不同的對象控件布置在不同的行列中,達到位置控制的效果。endprint

6 事件與命令

剛開始接觸Metro時,可能會在自己并不知曉的情況下就用到了路由事件。例如,當在Visual Studio設(shè)計器中向窗口添加一個按鈕,并將其命名為myButton,然后雙擊該按鈕時,Click事件將掛接在XAML標記之內(nèi),它的事件處理程序會添加到Window類的代碼隱藏中。這種感覺與在 Windows 窗體和ASP.NET中掛接事件并無二樣。實際上,它比較接近ASP.NET的代碼編寫模型,但更類似Windows窗體的運行時模型。

路由事件概述。

7 路由事件

氣泡事件最為常見,它表示事件從源元素擴散(傳播)到可視樹,直到它被處理或到達根元素。這樣就可以針對源元素的上方層級對象處理事件。例如,可向嵌入的Grid元素附加一個Button.Click處理程序,而不是直接將其附加到按鈕本身。氣泡事件有指示其操作的名稱(例如,MouseDown)。隧道事件采用另一種方式,從根元素開始,向下遍歷元素樹,直到被處理或到達事件的源元素。這樣上游元素就可以在事件到達源元素之前先行截取并進行處理。根據(jù)命名慣例,隧道事件帶有前綴Preview(例如PreviewMouseDown)。直接事件類似.NET Framework中的正常事件。該事件唯一可能的處理程序是與其掛接的委托。通常,如果為特殊事件定義了隧道事件,就會有相應(yīng)的氣泡事件。在這種情況下,隧道事件先觸發(fā),從根元素開始,下行至源元素,查找處理程序。一旦它被處理或到達源元素,即會觸發(fā)氣泡事件,從源元素上行,查找處理程序。氣泡或隧道事件不會僅因調(diào)用事件處理程序而停止路由。如果想中止隧道或氣泡進程,可使用傳遞的事件參數(shù)在事件處理程序中將事件標記為已處理。一旦的處理程序?qū)⑹录擞洖橐烟幚恚撌录悴粫鹘o任何其他處理程序。實際上,事件路由仍在繼續(xù)起作用,可利用UIElement.AddHandler的替換方法在代碼中顯式掛接事件處理程序,該方法有一個額外的標記,可以有效指出“即使事件被標記為已處理也可調(diào)用我”。為了讓元素能處理在不同元素中聲明的事件,WPF支持附加事件。附加事件也是路由事件,它支持元素 XAML 形式的掛接,而非聲明事件所用的類型。例如,如果想要Grid偵聽采用氣泡方式通過的Button.Click事件,僅需按如下所示進行掛接即可。

8 命令系統(tǒng)的基本元素

命令(Command):實現(xiàn)了ICommand接口的類,經(jīng)常使用的有RoutedCommand類。命令源:是命令的發(fā)送者,是實現(xiàn)了ICommandSource接口的類,大部分界面的控件都實現(xiàn)了這個接口,Button,MenuItem等等。命令目標:命令的接收者,命令目標是實現(xiàn)了IInputElement接口的類。命令關(guān)聯(lián):負責一些邏輯與命令關(guān)聯(lián)起來,比如判斷命令是否可以執(zhí)行,以及執(zhí)行完畢后做一些處理。四個命令元素之間的關(guān)系:在Windows Store app開發(fā)中,數(shù)據(jù)綁定非常的重要,它提供了一個簡單的方法,使我們的程序可以很方便的顯示數(shù)據(jù)并與數(shù)據(jù)進行交互。數(shù)據(jù)綁定:數(shù)據(jù)綁定在UI控件中顯示數(shù)據(jù)是非常重要的一部分內(nèi)容。當任意一個UI控件使用了綁定,那么它將會顯示出相應(yīng)的數(shù)據(jù)。當然,很重要的一個因素就是當綁定的數(shù)據(jù)發(fā)生了改變,此時UI控件顯示的內(nèi)容就會自動的改變。同樣,當用戶在UI控件上做了改變,這些變動的數(shù)據(jù)也會被自動保存到數(shù)據(jù)對象中。

參考文獻

[1] 歐運娟.windows系統(tǒng)管理與應(yīng)用[M].北京:人民郵電出版社,2014.

[2] Jeremy Likness.windows8應(yīng)用開發(fā)[M].北京:人民郵電出版社,2014.endprint

主站蜘蛛池模板: 欧美日韩在线成人| a级毛片免费网站| 久久久久免费精品国产| 精品丝袜美腿国产一区| 国产伦片中文免费观看| 91精品啪在线观看国产91九色| 亚洲欧美日韩中文字幕在线| 国产激情无码一区二区APP | 久久国产高潮流白浆免费观看| 狠狠色综合网| 精品午夜国产福利观看| 国产乱人伦AV在线A| 日本欧美精品| 成人国产免费| 亚洲国产成人在线| 久久中文无码精品| 国产国产人成免费视频77777 | av天堂最新版在线| 中字无码精油按摩中出视频| 最新国语自产精品视频在| 欧美黄色网站在线看| 91青青草视频在线观看的| 亚洲人成网18禁| 国产日韩欧美视频| 亚洲国产精品一区二区第一页免| 久久人体视频| 亚洲综合天堂网| 亚洲三级a| 国模在线视频一区二区三区| 干中文字幕| 欧美成人综合视频| 亚洲第一视频免费在线| 亚洲精品中文字幕午夜| 亚洲av无码片一区二区三区| 无码中文AⅤ在线观看| 亚洲无码熟妇人妻AV在线| 亚洲精品无码AV电影在线播放| a在线亚洲男人的天堂试看| 亚洲精品动漫| 欧美一区二区三区欧美日韩亚洲 | 久久久91人妻无码精品蜜桃HD| 波多野结衣第一页| 国产成人亚洲日韩欧美电影| 视频一区视频二区日韩专区 | 99精品免费在线| 免费久久一级欧美特大黄| 国产乱子伦无码精品小说| 久久 午夜福利 张柏芝| 波多野结衣在线一区二区| 色综合激情网| 91在线播放免费不卡无毒| 亚洲精品无码不卡在线播放| 72种姿势欧美久久久大黄蕉| 国产成人一区| 中国毛片网| 青草娱乐极品免费视频| 日本欧美成人免费| 国产精品免费久久久久影院无码| 国产青榴视频在线观看网站| 亚洲精品国产首次亮相| 欧美一级99在线观看国产| 亚洲天堂色色人体| 91久久国产综合精品| 国产在线精品99一区不卡| 青青青伊人色综合久久| 久久这里只有精品8| 国产精品免费露脸视频| 亚洲无码四虎黄色网站| 538国产视频| 无码日韩人妻精品久久蜜桃| 亚洲天堂精品视频| 亚洲一欧洲中文字幕在线| 国产又粗又猛又爽视频| 特级精品毛片免费观看| 国产97视频在线| 亚洲色图欧美激情| 香蕉视频在线观看www| 午夜无码一区二区三区| 99热最新在线| 欧美一区二区福利视频| 亚洲欧美成人综合| 欧美综合在线观看|