C# WPF 是什么意思?


C# WPF 是什么意思?

文章插圖
WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框架,屬于.NET Framework 3.0的一部分 。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面 。
【C# WPF 是什么意思?】WPF 為Windows Presentation Foundation的首字母縮寫,中文譯為“Windows呈現基礎”,其原來代號為“Avalon”,因與“我佩服”拼音首字母組合一樣,國內有人調侃地稱之為“我佩服” 。由 .NET Framework 3.0 開始引入,與 Windows Communication Foundation及 Windows Workflow Foundation并行為新一代 Windows操作系統以及 WinFX 的三個重大應用程序開發類庫 。
擴展資料:
國內即時通訊領導商騰訊Tencent曾經發布過一款基于WPF的QQ 概念版(QQ 概念版:QQ 概念版是騰訊首款NUI(自然用戶交互)產品,全面實現了多點觸摸操作 。在實現IM的基礎功能外,QQ概念版還推出了動感相框、動態背景、多Tab聊天窗口、3D交互、矢量界面、桌面好友等一系列新功能、新體驗以及Windows7的重要新特性 。
參考資料來源:百度百科-WPF
參考資料來源:百度百科-界面設計
WPF(Windows Presentation Foundation)是美國微軟公司推出.NET Framework 3.0的組成部分之一,它是一套基于XML、.NET Framework、向量繪圖(vector graphic)技術的展示層(presentation layer)開發框架,微軟視其為下一代用戶界面(user interface)技術,將廣泛被用于下一代的Windows平臺(Windows Vista)的界面開發 。其原來代號為“Avalon”,因“我佩服”拼音首字母組合一樣,國內有人調侃地稱之為“我佩服” 。WPF使用一種新的XAML(eXtensible Application Markup Language)語言來開發界面,這將把界面開發以及后臺邏輯很好的分開,降低了耦合度,使用戶界面設計師與程序開發者能更好的合作,降低維護和更新的成本 。WPF/E 是WPF的子集合,全名是:Windows Presentation Foundation Everywhere 。在基于XAML與JavaScript之下,可跨越各種平臺,目前 WPF/E 已演化為 Microsoft Silverlight,擔負微軟在 RIA (Rich Interactive Application, Rich Internet Application) 領域,并正面與 Adobe Flash 競爭的產品 。目前開發界的對WPF響應程度目前已有很多人開始考慮或者已經轉向WPF,一場新的學習熱潮已經開始 。但根據我最近的學習和了解,國內關于WPF的資料很少,除了msdn提供的資料以外,基本都是來自國外的資料,有些則是國外開發人員blog上的資料,當然都是英文的 。因此如果現在能夠引進一些WPF的書絕對是很好的時機 。而且國外目前的幾本WPF書也是剛剛上市,如果我們可以盡快引進的話,絕對可以幫助國內開發人員在最短時間內趕上國際步伐 。目前國內即時通訊領導商騰訊Tencent已經發布了一款基于WPF的QQ 概念版(QQ 概念版:QQ 概念版應用微軟最新一代客戶端展現層技術(WPF),實現多點觸摸操作,是騰訊首款NUI(自然用戶交互)產品,推出了動感相框、動態背景、多Tab聊天窗口、3D交互、桌面好友等一系列新功能,為您打造完美尊貴的新體驗 。),帶給網友全新的體驗;由于該產品還處于初期,許多功能都還有待完善,不過QQ概念版的出現,又讓即時通訊領域帶來了新的體驗與享受 。WPF 部份之特征如下: [編輯] 繪圖服務 所有的圖形皆可由Direct3D產生 。目標在于統一各種顯示圖形 。Windows可以通過Direct3D 來減輕在繪圖任務上的負荷,這項技術乃基于計算機顯卡的繪圖處理單元(Graphics Processing Unit) 。支持向量繪圖(vector graphic) 。支持3D透視圖并且影響2D應用程序 。[編輯] 布署 WPF 不僅僅是建立傳統的獨立程序(standalone applications) 。其部署方式可分成兩類:standalone與XAML Browser Applications(XBAP]])觀點 。這些布署方式在程序的撰寫上大致類似 。獨立程序之安裝方式可以借由 ClickOnce 或微軟安裝器(MSI)完成 。獨立程序可被視為完全信任(full trust)具有完全訪問系統資源的優點 。XAML Browser Application(XBAPs)是一種寄宿于網頁瀏覽器上的程序,像是Internet Explorer 。寄宿的程序可取得部份信任(partial trust)的沙箱(sandbox)環境之下,且無法取得完整的系統資源,WPF的功能亦無法完全發揮 。寄宿的環境必須有意地防衛惡意的代碼 。從網頁上運行XBAP(讀音 "ex-bap")必須是毫無破綻的(沒有安全性或安裝提示) 。雖然這樣的寄宿程序在感觀上與傳統微軟的DLL(out of process)有相異處 。[編輯] 互操作性 WPF可與Win32互相操作:經由主導(hosting)機制,可以在Win32碼之下使用 Windows Presentation Foundation,或是在Windows Presentation Foundation環境下使用Win32代碼[1] 。Windows Forms 的互操作性亦可利用 ElementHost(繼承自System.Windows.Forms.ContainerControl)以及 WindowsFormsHost(繼承自System.Windows.Forms.Integration)等類達成,同時提供了Host Avalon Element的能力 。[編輯] 媒體播放 WPF 針對2D圖形提供形狀基元(shape primitives),內置筆刷(brushes)、畫筆(pens)、幾何(geometries),與變形(transforms) 。WPF 以Direct3D提供完整的3D功能 。但是,WPF 提供更完整的集成性在于用戶界面上(UI)、文件(documents),與媒體(media) 。這使得盡可以實現 3D UI, 3D 文件,和 3D 媒體 。支持了大量的圖片格式(image formats) 。WPF 支持大量影音格式,如: WMV,MPEG 以及某些 AVI 檔 。WPF 支持以時間為基礎的動畫效果,不同于以影格為基礎的處理方式 。如此動畫的速度與系統效能就不會有所關連 。文件的體現支持ClearType,這提供一種次像數(sub-pixel)定位功能,強化其自然風格 。WPF 同時支持 OpenType字體樣式 。[編輯] 數據鏈接 WPF 有內置數據服務結合,可以讓應用程序發展者在應用程序內鏈接并處理數據 。一共有三種數據鏈接方式:one time:客戶端(client)必須忽略服務端(server)的更新動作 。one way:客戶端僅被準許讀取數據(read-only) 。two way:客戶端可讀取并讀進服務端 。數據鏈接在展示層并無太大負擔 。WPF 提供有數據樣板(data templates)來控制這些數據 。[編輯] 用戶界面 WPF提供了內置元件控件集合,包括有按鈕(button)、菜單(menu)、列表盒(list box) 。內置元件缺乏DataGrid但第三協力廠商已有支持 。WPF 的邏輯層與外觀展示層已形成強力的分離模式 。元件的外貌樣品可以被完全改寫 。[編輯] 文件 對OpenType 的支持包括: 縛(Ligatures)舊式數字(Old-style numerals) (for example, parts of the glyph hang below the text baseline)Swash variants碎形(Fractions)Superscript 及 SubscriptSmall caps[編輯] 工具 在以往 Win32 應用程序發展時,絕大多數的工作都由開發人員 (Developer) 來處理,美術設計人員 (Designer) 可以涉入的相當有限,而且在 Win32 API 時代,要在用戶界面中實現特效的話,都需要撰寫大量的代碼才可以做到 。在WPF 中,因為大多數的用戶界面元素都可以利用 XAML 來聲明,因此微軟試著要將 Designer 和 Developer 結合在一起,如此可以讓 Designer 可以充份發揮,并且 Developer 也不用傷腦筋在外觀設計上,微軟的 Designer 工具為 Microsoft Expression 產品集,其中的 Expression Blend 即為設計 WPF 應用程序的設計工具,它也可以用來設計 Silverlight 程序 。開發人員仍然可以使用 Visual Studio 來發展 WPF 應用程序,在 Visual Studio 中內含 WPF Designer 可供開發人員使用 。[編輯] WPF/E 主條目:Silverlight WPF/E 發展初期為微軟計劃將 WPF 推向各平臺的計劃,目前此計劃已經被發展成為 Silverlight 技術 。

推薦閱讀