版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第01章WPF開發(fā)簡(jiǎn)介目錄1. WPF簡(jiǎn)介2. XAML介紹3. WPF結(jié)構(gòu)4. 新建WPF程序5. 小結(jié)6. 習(xí)題戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育1.1.什么是WPF?n WPF 為Windows Presentation Foundation的首字母縮寫 ,中文譯為“Windows呈現(xiàn)基礎(chǔ)”。是基于DirectX的新一發(fā)技術(shù),利用XAML(應(yīng)用程序擴(kuò)展采用各種.Net語(yǔ)言作為業(yè)務(wù)邏輯語(yǔ)言)做界面描述, 開發(fā)。n 程序員在WPF的幫助下,要開發(fā)出酷炫界面已不再是遙不可及的奢望。 WPF相對(duì)于Windows客戶端的開發(fā)來(lái)說(shuō),向前跨出了巨大的一步,它提供了超豐富的.NET用
2、戶界面框架,集成了矢量圖形,豐富的流動(dòng)文字支持, 3D視覺效果和強(qiáng)大無(wú)比的控件模型框架。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 它提供了統(tǒng)一的編程模型、語(yǔ)言和框架,真正做到了分離界面設(shè)計(jì)人員與開發(fā)人員的工作;同時(shí)它提供了全新的多媒體交互用戶圖形界面。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育目錄1. WPF簡(jiǎn)介2. XAML介紹3. WPF結(jié)構(gòu)4. 新建WPF程序5. 小結(jié)6. 習(xí)題戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育2.1.什么是XAMLn XAML是Extensible Application Markup Language的英文縮寫,相應(yīng)的
3、中文名稱為可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言,它是微軟公司為構(gòu)建應(yīng)用程序用戶界面而創(chuàng)建的一種新的描述性語(yǔ)言。XAML提供了一種便于擴(kuò)展和定位的語(yǔ)法來(lái)定義和程序邏輯分離的用戶界面,而這種實(shí)現(xiàn)方式和ASP.NET中的代碼后置模型非常類似。XAML是一種解 析性的語(yǔ)言,盡管它也可以被編譯。它的優(yōu)點(diǎn)是簡(jiǎn)化編程式上的用戶創(chuàng)建過(guò)程,應(yīng)用時(shí)要添加代碼等。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育WPF 借助 XAML 來(lái)利用標(biāo)記而不是編程語(yǔ)言來(lái)構(gòu)造精真的用戶界面??梢酝ㄟ^(guò)定義控件、文本、圖像、形狀、動(dòng)畫等各種元素,完全采用 XAML 來(lái)制作詳盡的用戶界面文檔。由于 XAML 是聲明性語(yǔ)言(類似于 HTML)
4、,因此如果需要向應(yīng)用程序中添加運(yùn)行時(shí)邏輯, 則需要添加代碼。如果應(yīng)用程序僅使用 XAML,您不僅可以創(chuàng)建并動(dòng)態(tài)顯示用戶界面元素,還可以對(duì)這些元素加以配置令其以受限方式響應(yīng)用戶輸入(通觸發(fā)器)。XAML應(yīng)用程序的代碼存儲(chǔ)在不同于 XAML過(guò)使用文檔的單獨(dú)文件中。這種將用戶界面設(shè)計(jì)與基礎(chǔ)代碼相脫離的方式, 使得開發(fā)人員和設(shè)計(jì)人員能夠更加密切地合作完成同一個(gè)項(xiàng)目,而不會(huì)延誤各自的進(jìn)度戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育2.2. XAML的特點(diǎn)n 控件層次結(jié)構(gòu)一目了然n UI代碼業(yè)務(wù)分離n 聲明式語(yǔ)言,更便于利用工具自動(dòng)生成代碼n 主要用于Silverlight,WPF,Window
5、s Phone等應(yīng)用開發(fā)戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n XAML簡(jiǎn)化了.Net Framework 3.0編程模式上的用戶界面創(chuàng)建過(guò)程,使用XAML開發(fā)人員可以對(duì)WPF程序的所有用戶界面元素(例如文本、按鈕、圖像和列表框等)進(jìn)行詳細(xì)的定置,同時(shí)還可以對(duì)整個(gè)界面進(jìn)行合理化的布局,這與使用HTML非常相似。但是由于XAML是基于XML的,所以它本身就是一個(gè)組織良好的XML文檔,而且相對(duì)于HTML,它的語(yǔ)法更嚴(yán)謹(jǐn)、更明確。預(yù)計(jì)以后大部分的XAML都可由相應(yīng)的軟件自動(dòng)生成,就如同我們現(xiàn)在制作一個(gè)靜態(tài)頁(yè)面時(shí),幾乎不用編寫任何HTML代碼就可以直接通過(guò)Dreamweaver軟件生
6、成一個(gè)美觀的頁(yè)面。但是最初通過(guò)手動(dòng)編寫XAML代碼將是一次絕佳的學(xué)習(xí)體驗(yàn),雖然實(shí)現(xiàn)的過(guò)程繁雜了些,但是將加深您對(duì)XAML語(yǔ)法和各 個(gè)元素的理解。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育目錄1. WPF簡(jiǎn)介2. XAML介紹3. WPF結(jié)構(gòu)4. 新建WPF程序5. 小結(jié)6. 習(xí)題戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育3.1.WPF結(jié)構(gòu)n WPF使用一個(gè)多層的體系結(jié)構(gòu),在頂層,應(yīng)用程序和一個(gè)完全由托管的C#代碼編寫的一組高層服務(wù)進(jìn)行交互。至今將.net對(duì)象,轉(zhuǎn)換為Direct3D文理和三角形的實(shí)際工作,是在由一個(gè)名為milcore.dll的低級(jí)的非托管組件完成的。Mi
7、lcore.dll是使用非托管代碼實(shí)現(xiàn)的。因?yàn)樗枰虳irect3D緊密集成,并且它對(duì)性能非常敏感。WPF體系結(jié)構(gòu)如圖1-3所示。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育圖1 WPF體系結(jié)構(gòu)戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 1.PresentationFramework.dll:包含了WPF的頂層類型,包括表示窗口、面板以及其他類型控件的類型,它還實(shí)現(xiàn)了高層編程抽象,如樣式。開發(fā)人員使用的大部分類都來(lái)自這個(gè)程序集。n 2.PresentationCore.dll:包含了基礎(chǔ)類型,如UIElement和Visual類,所有形狀類和控件類都繼承自這 兩個(gè)類。
8、n 3.WindowsBase.dll:包含類了更多基本要素,這些要素具有在WPF之外重用的潛能。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 4.milcore.dll:WPF渲染系統(tǒng)的核心,也是媒體集成層的基礎(chǔ)。其合成引擎將可視化元素轉(zhuǎn)換為Drect3D所期望的三角形和紋理。它也是Windows Vista和Windows 7和一個(gè)核心組件。實(shí)際上,桌面窗口管理器使用milcore.dll渲染桌面。n 5.WindowsCodecs.dll:是一套提供圖像支持的低級(jí)API。例如處理、顯示以及縮放位圖和JPEG圖像。n 6.Direct3D:是一套低級(jí)API,WPF的所有圖形都由
9、它 來(lái)進(jìn)行渲染。n 7.User32:決定程序?qū)嶋H占有桌面的部分戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n WPF類結(jié)構(gòu)WPF架構(gòu)定義個(gè)類比較多,我們主要了解主要類。WPF類的層次結(jié)構(gòu)如圖2所示。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 1.System.Threading.DispatcherObject類:WPF 中的大多數(shù)對(duì)象是從 DispatcherObject 派生的,這提供了用于處理并發(fā)和線程的基本構(gòu)造。WPF 基于調(diào)度程序?qū)崿F(xiàn)的消息系統(tǒng)。n 2.System.Windows.DependencyO
10、bject類:在WPF中,和屏幕上的元素進(jìn)行交互的主要方式是通過(guò)屬性。在早期設(shè)計(jì)階段,WPF設(shè)計(jì)者決定創(chuàng)建一個(gè)更加強(qiáng)大的屬性模型,該模型支持許多特性,例如,更改、默認(rèn)值繼承以及更高效的屬性保存。該模型的最終結(jié)果就是依賴項(xiàng)屬性(dependency property)特性。通過(guò)繼承自DependencyObject類,WPF類可以獲得對(duì)依賴項(xiàng)屬性 的支持。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 3.System.Windows.Media.Visual類:在WPF應(yīng)用程序中顯示的每個(gè)元素,在本質(zhì)上都是一個(gè)Visual對(duì)象??梢詫isual類看作是一個(gè)圖形對(duì)象,它封裝了繪圖指令
11、、如何執(zhí)行繪圖的額外細(xì)節(jié)(如剪裁、以及變換設(shè)置),以及基本功能(如命中測(cè)試)。n 4.System.Windows.UIElement類:該UIElement類為有,如MouseEnter。和屬性一樣,WPF實(shí)現(xiàn)了用的(routed event)的一個(gè)增強(qiáng)的稱為路由。路由系統(tǒng)戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 5.System.Windows.FrameworkElement類:是WPF核心繼承樹中的最后一站。該類實(shí)現(xiàn)了一些由UIElement類定義的成員(在UIElement類中只是定義了這些成員而沒有實(shí)現(xiàn))。例如,UIElement類為WPF布局系統(tǒng)設(shè)置變換,但是Fr
12、ameworkElement類提供了支持變換的關(guān)鍵屬性(如Horizontal Alignment屬性和Margin屬性)。UIElement類還為數(shù)據(jù)綁定、動(dòng)畫以及樣式提供支持,這 些都是核心特征。n 6.System.Windows.Shapes.Shape類:基本的形狀類(如Rectangle類、Polygon類、Ellipse類、Line類以及Path類)都繼承自該類。這些形狀類可以和更傳統(tǒng)的Windows裝飾控件一起使用,如按鈕和文本框。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 7.System.Windows.Controls.Control類:控件(control
13、)就是可以和用戶交互的元素??丶@然包括TextBox控件、Button控件以及ListBox控件。Control類為設(shè)置字體和前景色與背景色提供了附加支持。但是令人更感興趣的細(xì)節(jié)是模板支持,模板支持使用自定義風(fēng)格的繪圖替換控件的標(biāo)準(zhǔn)外觀。n 8.System.Windows.Controls.ContentContr ol類:是所有具有單一內(nèi)容控件的基類。包括從簡(jiǎn)單的標(biāo)簽到窗口的所有內(nèi)容。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 9.System.Windows.Controls.ItemsControl類:該類是所有顯示選項(xiàng)集合的控件的基類,如ListBox控件和TreeV
14、iew控件。n 10. System.Windows.Controls.Panel類:該類是所有布局容器的基類,布局容器是可以包含一個(gè)或多個(gè)子元素,并根據(jù)指定的規(guī)則對(duì)子元素進(jìn)行排列的元素。這些容器是WPF布局系統(tǒng)的基礎(chǔ),并且使用它們可能是以最富有吸引力、最靈活的方式安排內(nèi)容的關(guān)鍵。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育目錄1. WPF簡(jiǎn)介2. XAML介紹3. WPF結(jié)構(gòu)4. 新建WPF程序5. 小結(jié)6. 習(xí)題戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育4.1.新建WPF程序n 新建WPF程序可以按以(1) 新建工程(2) 添加引用(3) 界面布局(4) 引用命名空間
15、(5) 程序編寫程:(6調(diào)試測(cè)試。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 【例1-1】 :創(chuàng)建一個(gè)WPF程序,編寫LED顯示的程序過(guò)程,如圖3所示。圖3 第一個(gè)WPF應(yīng)用程序戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 操作步驟(1)運(yùn)行VS2012,新建“Demo_1”WPF應(yīng)用程序。(2)為創(chuàng)建后的“Demo_1”項(xiàng)目,添加設(shè)備操作類庫(kù)文件:ICS.Acquisition.dll、 ICS.Common.dll、ICS.Models.dll。(3)向默認(rèn)的界面MainWindow.xaml布局控件,代碼如下所示。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物
16、聯(lián)教育戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n (4)在“MainWindow.xaml.cs”中推送部分功能如 下代碼。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n (5) 將LED串口直接接在PC機(jī)串口上,并正確供電;n (6) 運(yùn)行該程序,單擊【推送】按鈕,仔細(xì)觀察LED顯示屏上顯示的文字。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育目錄1. WPF簡(jiǎn)介2. XAML介紹3. WPF結(jié)構(gòu)4. 新建WPF程序5. 小結(jié)6. 習(xí)題戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育n 本章主要介紹了WPF基本概念以及VS2012開發(fā)環(huán)境的使用。本章先分析在整個(gè)小區(qū)物業(yè)監(jiān)控系統(tǒng)中“WPF開發(fā)”有什么樣的應(yīng)用?在哪些地方會(huì)出現(xiàn)這些應(yīng)用,接下來(lái)分別就WPF基本概念;VS2012開發(fā)環(huán)境的使用,最后通過(guò)一個(gè)簡(jiǎn)單的小區(qū)物業(yè)監(jiān)控系統(tǒng)中應(yīng)用的Led信息顯示案例等內(nèi)容都進(jìn)行了基礎(chǔ)實(shí)例演示。n 學(xué)習(xí)這一章應(yīng)把注意力放在WPF應(yīng)用程序的創(chuàng)建過(guò)程上,并注意程序的調(diào)試,為后續(xù)章節(jié)的學(xué)習(xí)打好基礎(chǔ)。戰(zhàn)略性信息產(chǎn)業(yè)教育服務(wù)提供商聯(lián)世界 育未來(lái)創(chuàng)新物聯(lián)教育目錄1. WPF簡(jiǎn)介2.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 混凝土采購(gòu)與支付協(xié)議
- 環(huán)保區(qū)域違法車輛拖移服務(wù)方案
- 酒店行業(yè)新冠疫情應(yīng)急響應(yīng)預(yù)案
- 2023年下半年安全生產(chǎn)管理方案
- 2021年特崗音樂教師評(píng)估與反饋總結(jié)
- 醫(yī)療機(jī)構(gòu)售后服務(wù)流程方案
- 基于物聯(lián)網(wǎng)的智慧工地方案
- 職業(yè)培訓(xùn)機(jī)構(gòu)收費(fèi)公示制度的合規(guī)性分析
- 2024-2030年中國(guó)融資租賃產(chǎn)業(yè)前景趨勢(shì)規(guī)劃分析報(bào)告
- 2024-2030年中國(guó)茶葉行業(yè)產(chǎn)銷率調(diào)查及未來(lái)發(fā)展趨勢(shì)分析報(bào)告
- 口腔常見疾病的診治
- MOOC 人像攝影-中國(guó)傳媒大學(xué) 中國(guó)大學(xué)慕課答案
- MOOC 計(jì)算機(jī)組成原理-電子科技大學(xué) 中國(guó)大學(xué)慕課答案
- 2024年江蘇無(wú)錫市江陰市江南水務(wù)股份有限公司招聘筆試參考題庫(kù)含答案解析
- 中學(xué)教材、教輔征訂管理制度
- (高清版)DZT 0213-2002 冶金、化工石灰?guī)r及白云巖、水泥原料礦產(chǎn)地質(zhì)勘查規(guī)范
- 消防安全評(píng)估消防安全評(píng)估方案
- 工程造價(jià)專業(yè)《工程經(jīng)濟(jì)》課程標(biāo)準(zhǔn)
- ZARA服裝市場(chǎng)營(yíng)銷策略研究分析 市場(chǎng)營(yíng)銷專業(yè)
- 設(shè)備維保的市場(chǎng)化運(yùn)作與服務(wù)模式創(chuàng)新
- 幼兒園科普知識(shí)宣傳
評(píng)論
0/150
提交評(píng)論