作者:孫英鵬 撰寫時間:2019年7月6日
學了這麼久的WPF知識,我們應該了解了其中的原理和運用,是以今天就來介紹一下WPF的知識。
什麼是WPF?
WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的使用者界面架構, 屬于.NET Framework 3.0的一部分。它提供了統一的程式設計模型、語言和架構,真正做到了 分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體互動使用者圖形界面。
它的定義:
Windows Presentation Foundation是WPF的首字母縮寫,而在中文譯為“Windows呈現基礎”,其原來代号為“Avalon”,由于與中文拼音首字母的“我佩服”音譯一樣,被國内有人調侃地稱之為“我佩服”。由.NET Framework 3.0 開始引入,與Windows Communication Foundation及 Windows Workflow Foundation并行為新一代 Windows作業系統以及 WinFX 的三個重大應 用程式開發類庫。
WPF的特點:
程式人員與美勞工員明确分工,明确的分好工作子產品,然後你敲你的代碼,我設我的頁面,這樣就不會出現工作效率不好的現象,讓程式人員直接套用到開發環境,不需要 想頁面怎麼切了。
對與WPF最重要的特色,矢量圖的超強支援。相容支援2D繪圖,比如矩形、自定義路徑, 位圖等。文字顯示的增強,XPS和消鋸齒。三維強大的支援。包括3D控件及事件,與2D及 視訊合并打造更立體效果。漸變、使用高精确的(ARGB)顔色,支援浮點類型的像素坐 标。這些對GDI+遠遠不及的。靈活、易擴充的動畫機制!.Net Framework 3.0類庫提供了強大的基類,隻需繼承就可以實 現自定義程式使用繪制。接口設計非常直覺,完全面向對象的對象模型。使用對象描述語 言XAML。使用開發工具的可視化編輯。
關于它們的組成結構 如下:
Windows Presentation Foundation 由兩個主要部分組成:引擎和程式設計架構。
1.Windows Presentation Foundation引擎。Windows Presentation Foundation 引擎統一 了開發人員和設計人員體驗文檔、媒體和 UI 的方式,為基于浏覽器的體驗、基于窗體的應 用程式、圖形、視訊、音頻和文檔提供了一個單一的運作時庫。Windows Presentation Foundation 使得應用程式不僅能夠充分利用現代計算機中現有的圖形硬體的全部功能,而 且能夠利用硬體将來的進步。例如,Windows Presentation Foundation 的基于矢量的呈現 引擎使應用程式可以靈活地利用高 DPI螢幕,而無需開發人員或使用者進行額外的工作。同 樣,當 Windows Presentation Foundation 檢測到支援硬體加速的視訊卡時,它将利用硬體 加速功能。
2.Windows Presentation Foundation 架構。Windows Presentation Foundation 架構為媒體、使用者界面設計和文檔提供的解決方案遠遠超過開發人員現在所擁有的。Windows Presentation Foundation 的設計考慮了可擴充性,使開發人員可以完全在 Windows Presentation Foundation引擎的基礎上建立自己的控件,也可以通過對現有 Windows Presentation Foundation 控件進行再分類來建立自己的控件。Windows Presentation Foundation 架構的核心是用于形狀、文檔、圖像、視訊、動畫、三維以及用于放置控件和 内容的面闆的一系列控件。這些“自有控件”為開發下一代使用者體驗提供了構造塊。 Microsoft 在引入 Windows Presentation Foundation 的同時,還引入了 XAML,這是一種 公開表示 Windows應用程式使用者界面的标記語言,可使開發人員和設計人員用來建構和重 用 UI 的工具更加豐富。對于 Web 開發人員,XAML 提供了熟悉的 UI 說明模式。XAML 還 使 UI 設計從基礎代碼中分離出來,進而使開發人員和設計人員之間的合作更加緊密。
為什麼選擇 Windows Presentation Foundation?選擇理由是什麼?如下:
對于企業:Windows Presentation Foundation 實作了改進的客戶關系和不同的應用程式。 通過提供能夠快速提供更好的視覺效果、獨特的使用者體驗的技術,來建立與客戶的密切關 系,使企業可以建立穩定的數字客戶關系和獨特的品牌化機會。而且,由于 Windows Presentation Foundation 是窗體、文檔、視訊、三維以及其他功能的綜合,是以企業可以 建立持久的使用者體驗解決方案,并內建到客戶的日常活動中。
對于開發人員和設計人員:Windows Presentation Foundation 提供了統一的 UI 平台,是以 他們隻需學習一個模式,就可以獲得無限可能的 UI 體驗。
對于 .NET開發人員:其架構是熟悉的,并且它最終将減少提供最佳使用者體驗和通信邏輯所 需的代碼行數。
對于設計人員:Windows Presentation Foundation 提供的平台可消除内容、媒體和應用程 序之間的邊界。最重要的是,Windows Presentation Foundation 可以使開發人員和設計人 員同步緊密地合作來快速提供不同的連通體驗。
關于運作環境:WPF可以運作在三種環境下面,如下:
1、 WPF桌面程式,此類型沒有任何限制,可以是Windows可執行程式也可以是DLL動态鍊 接庫。隻需要.Net Framework 3.0以上版本支援即可!
2、 RIA分布式環境,伺服器與用戶端浏覽器下載下傳使用ActiveX插件方式解釋執行的。微軟更 名為Silverlight,由于安全原因,微軟提取精簡版.Net Framework到Silverlight中獨立運作,精簡了很多類庫。
3、 浏覽器承載的應用程式(稱為 XAML 浏覽器應用程式 (XBAP)),您可以建立能夠使用 超連結(Hyperlink 類)導航的頁面 (Page) 和頁函數(PageFunction(Of (T)))。
對于WPF的服務和支援 如下:
随着Vista RTM的釋出,微軟新一輪的技術推廣已經開始。其實在此之前,WPF已經有很大 的推廣,因為CTP版本已經釋出了有一段日子了。當然很多開發人員主要以技術研究為主, 也有少數公司已經開始從事基于WPF的産品研發工作。 目前WPF的最新版本為4.5(對應.netframework4.5),你可以從msdn上免費下載下傳。
對于WPF的前景分析 如下:
WPF其實不僅僅是圖形引擎而已,它将給Windows應用程式的開發帶來一次革命,因為新 的架構提供了一種全新的開發模式。當然對于普通使用者而言,最直覺的就是界面越來越漂 亮,看起來越來越舒服了;但對于開發人員而言,界面顯示和代碼将更好的得到分離,這與 從前的桌面應用程式開發有很多不同(界面設定和代碼是融合在一起的),這是比較具有革 命性的改變之一。 還有就是桌面應用程式和浏覽器應用程式的融合,根據ms的承諾,正在開發中的WPF/E, 即WPF Everywhere版本,将為基于WPF的應用程式提供全面的浏覽器支援,這意味着未來 開發出的應用程式将可以基于浏覽器在不同的作業系統上運作,根據WPF/E開發組的定 義,WPF/E仍然是WPF的子集,而不是後繼版本。總體而言,WPF的前景應該是一片光明。