




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