找軟件用軟件,就到華軍軟件園! 軟件發(fā)布
所在位置: 首頁 — 教程攻略 — 教程 — 其他教程  —  Win10開發(fā)...

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

作者: 日期:2022-04-08

驅(qū)動(dòng)精靈win10版
驅(qū)動(dòng)精靈win10版-9.61.3708.3054 官方標(biāo)準(zhǔn)版

硬件工具 占存:78.3MB 時(shí)間:2020-10-26

軟件介紹: 驅(qū)動(dòng)精靈是一款集驅(qū)動(dòng)自動(dòng)升級(jí)、驅(qū)動(dòng)備份、驅(qū)動(dòng)還原、驅(qū)動(dòng)卸載、硬件檢測等多功能于一身的專業(yè)驅(qū)...

立即下載

今天的任務(wù)是建立一個(gè)簡單的Win10 UWP應(yīng)用程序,分析應(yīng)用程序組成結(jié)構(gòu),順帶熟悉一下Visual Studio 2015開發(fā)環(huán)境,并通過添加一個(gè)按鈕初識(shí)Windows應(yīng)用程序事件響應(yīng)機(jī)制。在開始本文之前先回答兩個(gè)網(wǎng)友提出的問題。

1、開發(fā)UWP應(yīng)用Visual Studio需要安裝哪些組件?

保證選中Windows通用應(yīng)用開發(fā)即可。如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲Visual Studio 2015安裝界面

另外,最新版SDK并不包含在Visual Studio安裝包中,安裝時(shí)需要在線下載。你可以取消勾選工具(1.2)和Windows 10 SDK(10.0.10586),完成安裝后,再從這里下載SDK獨(dú)立安裝包進(jìn)行安裝。

2、關(guān)于Hyper-V虛擬機(jī)支持條件的補(bǔ)充

CPU是否支持虛擬化技術(shù)可通過一款軟件進(jìn)行判斷,詳細(xì)方法可參考《Windows7下XP Mode下載、安裝、設(shè)置完全圖解》。另外除CPU需要支持虛擬化技術(shù)外,還需要使用Windows10專業(yè)版及更高版本操作系統(tǒng)。

創(chuàng)建第一個(gè)Win10 UWP應(yīng)用程序

打開Visual Studio 2015,點(diǎn)擊菜單文件——新建——項(xiàng)目,彈出“新建項(xiàng)目”對(duì)話框,如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲Visual Studio 2015新建項(xiàng)目對(duì)話框

在模板中選擇Visual C#——Windows——通用,在右側(cè)選擇空白應(yīng)用(通用Windows),修改名稱為Hello或其他,最后點(diǎn)擊確定即可生成一個(gè)空白的UWP通用應(yīng)用。此時(shí)的界面如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲Visual Studio 2015操作界面

界面頂部為菜單欄和常用操作按鈕,最右側(cè)為解決方案資源管理器窗格,其中列出了項(xiàng)目中的所有文件,雙擊文件后會(huì)在左側(cè)窗格打開,方便我們編輯和修改。右下角為屬性窗格,其中顯示的是我們當(dāng)前選中目標(biāo)的屬性選項(xiàng)。左下角窗格則用于調(diào)試,代碼中的錯(cuò)誤也會(huì)在這里給出提示。

項(xiàng)目文件結(jié)構(gòu)分析

查看解決方案資源管理器窗格,一個(gè)新建的UWP應(yīng)用程序包含如下文件:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲Visual Studio 2015解決方案資源管理器窗格

? Properties,描述項(xiàng)目屬性,雙擊可打開項(xiàng)目屬性窗口進(jìn)行修改;

? 引用,所有應(yīng)用中需要使用的API都需要在這里進(jìn)行引用,項(xiàng)目默認(rèn)會(huì)把UWP應(yīng)用所需的通用于所有設(shè)備的API都引用進(jìn)來;

? Assets,存放應(yīng)用程序所需的圖片、音視頻文件等資源文件;

? Packages.appxmanifest,應(yīng)用程序清單文件,用于描述應(yīng)用程序的功能和版本等信息的文件。

下面兩項(xiàng)則是應(yīng)用中最重要的兩個(gè)部分,也是我們主要操作的對(duì)象:

? App.xaml與App.xaml.cs

? MainPage.xaml與MainPage.xaml.cs

在項(xiàng)目中他們分別定義了兩個(gè)類,即應(yīng)用程序類(App)和主頁面類(MainPage)。

這是一個(gè)類(對(duì)象)組成的世界

類是面向?qū)ο缶幊讨幸粋€(gè)非常重要的概念,它是從現(xiàn)實(shí)世界中獲得的靈感。比如人類,我們會(huì)用一些屬性(比如職業(yè))或方法(比如具備的技能)對(duì)其進(jìn)行定義,然后根據(jù)定義產(chǎn)生每一個(gè)個(gè)體。在編程中也是同樣的道理,所有事物都通過類進(jìn)行定義,而每個(gè)具體的事物都是根據(jù)類的定義產(chǎn)生的個(gè)體,這叫做類的實(shí)例化對(duì)象。

在面向?qū)ο蟪绦蛟O(shè)計(jì)中,我們需要各種不同的對(duì)象來完成不同的任務(wù),還需要協(xié)調(diào)各個(gè)對(duì)象之間的關(guān)系,并根據(jù)自己的需求增加額外的類(對(duì)象)。

在我們當(dāng)前的項(xiàng)目中App.xaml與App.xaml.cs定義了應(yīng)用程序類,它負(fù)責(zé)維護(hù)應(yīng)用程序的生命周期,明確在應(yīng)用程序打開、掛起(從當(dāng)前切換到另一個(gè)應(yīng)用后)以及掛起后恢復(fù)的情況下需要執(zhí)行哪些操作等。

MainPage.xaml與MainPage.xaml.cs則定義了應(yīng)用程序的主頁面類,前者負(fù)責(zé)描述頁面中包含哪些內(nèi)容,后者主要包括頁面內(nèi)容與用戶之間的交互邏輯。下面我們?cè)谛陆ǖ目瞻讘?yīng)用程序中添加一些內(nèi)容。

初識(shí)事件!

我們常用的Windows應(yīng)用程序都主要以事件進(jìn)行驅(qū)動(dòng)的,比如點(diǎn)擊一個(gè)按鈕會(huì)觸發(fā)按鈕的單擊事件。我們需要做的就是將要執(zhí)行的操作放在對(duì)應(yīng)事件的響應(yīng)函數(shù)中即可,下面我們?cè)谥黜撁嬷刑砑右粋€(gè)按鈕,實(shí)現(xiàn)點(diǎn)擊按鈕后彈出Hello World!提示對(duì)話框。

雙擊MainPage.xaml,相應(yīng)的頁面設(shè)計(jì)器就會(huì)出現(xiàn)在左側(cè)窗格中,如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲Visual Studio 2015 XAML頁面設(shè)計(jì)視圖

點(diǎn)擊左側(cè)的工具箱,將其中的Button拖到主頁面區(qū)域中即可完成一個(gè)按鈕的添加,如下圖:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

選中添加的按鈕,在右下角的屬性窗格中就會(huì)出現(xiàn)按鈕的屬性設(shè)置選項(xiàng),點(diǎn)擊小窗格中右上角的閃電圖形圖標(biāo)即可顯示所有事件列表:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

找到其中的click項(xiàng),在右側(cè)文本框中輸入函數(shù)名稱(自定義或留空使用默認(rèn)名稱),雙擊文本框即可為此按鈕添加單擊事件響應(yīng)函數(shù),并自動(dòng)進(jìn)入函數(shù)編輯頁面(即MainPage.xaml.cs文件編輯頁面)。

此時(shí)按照下面的代碼在函數(shù)體(一對(duì)大括號(hào)內(nèi))添加代碼,并注意在函數(shù)名稱前面加上async修飾符。

private async void button_Click(object sender, RoutedEventArgs e)

{

MessageDialog dlg = new MessageDialog("Hello World!");

await dlg.ShowAsync();

}

在復(fù)雜項(xiàng)目中我們需要很多類,而這些類可能由不同的人進(jìn)行編寫,為了不至于產(chǎn)生沖突,使用命名空間進(jìn)行“分類”。由于我們使用的MessageDialog(消息對(duì)話框)類被定義在Windows.UI.Popups命名空間中,因此要使用該類,需要在代碼文件的最上面部分加上下面一行代碼:

using Windows.UI.Popups;

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

▲為按鈕添加單擊事件響應(yīng)函數(shù)后最終代碼

至此我們已經(jīng)完成了按鈕及其單擊事件處理函數(shù)的添加,點(diǎn)擊窗口頂部工具欄中的綠色播放按鈕即可進(jìn)行編譯運(yùn)行,運(yùn)行后主界面彈出,點(diǎn)擊窗口中的按鈕即可彈出Hello World!提示對(duì)話框,如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

程序的入口點(diǎn)在哪里?

下面我們進(jìn)一步分析,學(xué)習(xí)過C++等語言的朋友都知道應(yīng)用程序都有一個(gè)入口點(diǎn),那么這里的UWP應(yīng)用程序也不例外。實(shí)際上在本文所建立的應(yīng)用程序中還存在另一個(gè)類,所謂的入口點(diǎn)就隱藏在這里,下面我們把它揪出來。

點(diǎn)擊菜單中的視圖——類視圖,此時(shí)在右側(cè)即可出現(xiàn)類視圖,展開Hello(命名空間)你就會(huì)看到除了App、MainPage類之外,還有一個(gè)Program類,如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

雙擊Program類,會(huì)在左側(cè)打開名為App.g.i.cs的文件(它是隱藏的,由編譯器自動(dòng)生成),部分代碼如下圖所示:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

可以看到在Program類中包含一個(gè)名為Main()的方法,這即是整個(gè)應(yīng)用程序的入口點(diǎn)函數(shù)。在前面我們介紹過類的實(shí)例化概念,只有類被實(shí)例化為對(duì)象后才具有意義。不過這里的Program類是一個(gè)靜態(tài)類(前面用static進(jìn)行了修飾),靜態(tài)類的特點(diǎn)是不需要實(shí)例化為對(duì)象就可以使用其中定義的各種方法(當(dāng)然也都是靜態(tài)的),那么Main()函數(shù)就可以直接運(yùn)行。

各個(gè)類或?qū)ο笾g的關(guān)系

繼續(xù)觀察Main()函數(shù)中的語句,可以發(fā)現(xiàn)它實(shí)例化了一個(gè)App類的對(duì)象(new APP();),這也是整個(gè)應(yīng)用中唯一的一個(gè)App類實(shí)例化對(duì)象。有了App對(duì)象,那么程序頁面又是怎樣呈現(xiàn)的呢?(即MainPage類是如何發(fā)揮作用的呢?)

實(shí)際上在UWP應(yīng)用App對(duì)象中包含一個(gè)Window對(duì)象,它提供了對(duì)窗口的各種操作方法。在應(yīng)用程序啟動(dòng)時(shí),又會(huì)將一個(gè)Frame對(duì)象賦給Window對(duì)象(的Content屬性)。在應(yīng)用程序中除了MainPage主頁面外,我們還可以添加其他自定義頁面,而Frame的作用就包括讓應(yīng)用程序窗口內(nèi)容在不同頁面之間進(jìn)行導(dǎo)航。Windows類和Frame類的定義包含在我們引用的程序集中,因此在應(yīng)用程序的類視圖中并沒有顯示這兩個(gè)類。以上類或?qū)ο笾g的關(guān)系在App類的OnLaunched方法中有所體現(xiàn),OnLaunched方法即表示應(yīng)用程序啟動(dòng)時(shí)需要完成的一系列動(dòng)作,主要代碼(在App.xaml.cs文件中)如下:

Win10開發(fā)入門:UWP通用應(yīng)用程序項(xiàng)目結(jié)構(gòu)分析

以上就是對(duì)UWP應(yīng)用程序結(jié)構(gòu)的簡單分析,如果你沒有C#語言基礎(chǔ),看不懂代碼不要緊,現(xiàn)在你只需要對(duì)整個(gè)結(jié)構(gòu)有一個(gè)整體了解。下次我們將對(duì)C#語言的基礎(chǔ)要點(diǎn)進(jìn)行學(xué)習(xí)。

相關(guān)文章

最新教程 更多

谷歌瀏覽器(Google Chrome)下載網(wǎng)頁視頻的圖文操作內(nèi)容 谷歌瀏覽器(Google Chrome)下載網(wǎng)頁視頻的圖文操作內(nèi)容

電腦定時(shí)關(guān)機(jī)怎么設(shè)置?-電腦定時(shí)關(guān)機(jī)設(shè)置教程 電腦定時(shí)關(guān)機(jī)怎么設(shè)置?-電腦定時(shí)關(guān)機(jī)設(shè)置教程

華為純凈模式怎么關(guān)閉?-華為純凈模式關(guān)閉教程 華為純凈模式怎么關(guān)閉?-華為純凈模式關(guān)閉教程

電腦配置怎么看?-電腦配置查看教程 電腦配置怎么看?-電腦配置查看教程

蘋果手機(jī)突然黑屏打不開怎么辦?-蘋果手機(jī)突然黑屏打不開教程 蘋果手機(jī)突然黑屏打不開怎么辦?-蘋果手機(jī)突然黑屏打不開教程

熱門教程 更多

圖片工廠形狀圖層重命名的詳細(xì)步驟 圖片工廠形狀圖層重命名的詳細(xì)步驟

小米怎么退出安全模式?-小米退出安全模式方法 小米怎么退出安全模式?-小米退出安全模式方法

小米手機(jī)助手怎么使用?-小米手機(jī)助手使用教程 小米手機(jī)助手怎么使用?-小米手機(jī)助手使用教程

小米怎么強(qiáng)制重啟手機(jī)?-小米強(qiáng)制重啟手機(jī)方法 小米怎么強(qiáng)制重啟手機(jī)?-小米強(qiáng)制重啟手機(jī)方法

電腦定時(shí)關(guān)機(jī)怎么設(shè)置?-電腦定時(shí)關(guān)機(jī)設(shè)置教程 電腦定時(shí)關(guān)機(jī)怎么設(shè)置?-電腦定時(shí)關(guān)機(jī)設(shè)置教程