WPF

WPF

用戶界面框架
WPF(Windows Presentation Foundation)是微軟推出的基于Windows Vista的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。[1]
    中文名:Windows呈現基礎 外文名:Windows Presentation Foundation 别名:

基本簡介

WPF縮寫為Windows Presentation Foundation的縮寫 ,其原來代号為“Avalon”,因“我佩服”拼音首字母組合一樣,國内有人調侃地稱之為“我佩服”。WPF是微軟新一代圖形系統,運行在.NET Framework 3.0架構下,為用戶界面、2D/3D 圖形、文檔和媒體提供了統一的描述和操作方法。基于DirectX 9/10技術的WPF不僅帶來了前所未有的3D界面,而且其圖形向量渲染引擎也大大改進了傳統的2D界面,比如Vista中的半透明效果的窗體等都得益于WPF。 程序員在WPF的幫助下,要開發出媲美Mac程序的酷炫界面已不再是遙不可及的奢望。 WPF相對于Windows客戶端的開發來說,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持flow text support,3D視覺效果和強大無比的控件模型框架。

前景分析

WPF其實不僅僅是圖形引擎而已,它将給Windows應用程序的開發帶來一次革命,因為新的架構提供了一種全新的開發模式。當然對于普通用戶而言,最直觀的就是界面越來越漂亮,看起來越來越舒服了;但對于開發人員而言,界面顯示和代碼将更好的得到分離,這與從前的桌面應用程序開發有很多不同(界面設置和代碼是融合在一起的),這是比較具有革命性的改變之一。

還有就是桌面應用程序和浏覽器應用程序的融合,根據ms的承諾,正在開發中的WPF/E,即WPF Everywhere版本,将為基于WPF的應用程序提供全面的浏覽器支持,這意味着未來開發出的應用程序将可以基于浏覽器在不同的操作系統上運行,當然由于目前還在開發中,并不确定會不會有一定的限制,根據WPF/E開發組的定義,WPF/E仍然是WPF的子集,而不是後繼版本。總體而言,WPF的前景應該是一片光明。

主要組成

Windows Presentation Foundation 由兩個主要部分組成:引擎和編程框架。

Windows Presentation Foundation 引擎。Windows Presentation Foundation 引擎統一了開發人員和設計人員體驗文檔、媒體和 UI 的方式,為基于浏覽器的體驗、基于窗體的應用程序、圖形、視頻、音頻和文檔提供了一個單一的運行時庫。Windows Presentation Foundation 使得應用程序不僅能夠充分利用現代計算機中現有的圖形硬件的全部功能,而且能夠利用硬件将來的進步。例如,Windows Presentation Foundation 的基于矢量的呈現引擎使應用程序可以靈活地利用高 DPI 監視器,而無需開發人員或用戶進行額外的工作。 同樣,當 Windows Presentation Foundation 檢測到支持硬件加速的視頻卡時,它将利用硬件加速功能。

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 設計從基礎代碼中分離出來,從而使開發人員和設計人員之間的合作更加緊密。

應用程序

1. 打開Visual Studio 2008(05也成),新建一個WPF項目(别忘了選.NET Framework 3.0)

2. 打開Window1.xaml,用下面的代碼替換原有的:

xmlns="http://schemas.microsoft.com/WinFX/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Window1" Height="300" Width="300"> 

3. 為BtnCalc_Click事件添加邏輯,打開Window1.xaml.cs,添加:

private void BtnCalc_Click(object sender, RoutedEventArgs e)

{ string input = TbInput.Text.Trim();

if (!String.IsNullOrEmpty(input))

{ string[] rawDataSet = input.Split(", ".ToCharArray());

if (rawDataSet.Length != 5)

return;

try

{ int i = 0;

double sum = 0;

for (; i < rawDataSet.Length; i++)

sum += Double.Parse(rawDataSet[i]);

LblResult.Content = sum / i;

catch (Exception ex)

{ MessageBox.Show(ex.Message);

4. 運行程序,在文本框中輸入五個數,中間用空格或逗号分開,然後點計算平均值按鈕,即可顯示結果。

響應程度

目前已有很多人開始考慮或者已經轉向WPF,一場新的學習熱潮已經開始。但根據我最近的學習和了解,國内關于WPF的資料很少,除了msdn提供的資料以外,基本都是來自國外的資料,有些則是國外開發人員blog上的資料,當然都是英文的。因此如果現在能夠引進一些WPF的書絕對是很好的時機。而且國外目前的幾本WPF書也是剛剛上市,如果我們可以盡快引進的話,絕對可以幫助國内開發人員在最短時間内趕上國際步伐。

服務和支持

随着Vista RTM的發布,微軟新一輪的技術推廣已經開始。其實在此之前,WPF已經有很大的推廣,因為CTP版本已經發布了有一段日子了。當然很多開發人員主要以技術研究為主,也有少數公司已經開始從事基于WPF的産品研發工作。

1. 目前WPF的正式版本已經發布(随.net framework 3.0正式版發布),你可以從msdn上免費下載

2. 相應的技術支持已經開始,但目前僅限于大客戶,主要做售前技術支持,對于普通開發人員的技術支持可能要等到2月份才會開始(個人知道的情況,請以微軟官方技術支持網站發布的信息為準)

3. WPF的VS2005插件目前還隻有社區預覽版(CTP版),也是從msdn上免費下載的,但正式版恐怕還要等一段時間,但使用CTP版本确實已經可以在VS2005中進行所見即所得的WPF開發。

4. WPF/E CTP版本已經發布,你可以在msdn上免費下載。同時發布的還有WPF/E Sample Pack for CTP。

如何選擇

對于企業,Windows Presentation Foundation 實現了改進的客戶關系和不同的應用程序。通過提供能夠快速提供更好的視覺效果、獨特的用戶體驗的技術,來建立與客戶的密切關系,使企業可以建立穩定的數字客戶關系和獨特的品牌化機會。而且,由于 Windows Presentation Foundation 是窗體、文檔、視頻、三維以及其他功能的綜合,因此企業可以創建持久的用戶體驗解決方案,并集成到客戶的日常活動中。

對于開發人員和設計人員,Windows Presentation Foundation 提供了統一的 UI 平台,因此他們隻需學習一個模式,就可以獲得無限可能的 UI 體驗。對于 .NET 開發人員,其框架是熟悉的,并且它最終将減少提供最佳用戶體驗和通信邏輯所需的代碼行數。對于設計人員,Windows Presentation Foundation 提供的平台可消除内容、媒體和應用程序之間的邊界。最重要的是,Windows Presentation Foundation 可以使開發人員和設計人員同步緊密地合作來快速提供不同的連通體驗。

上一篇:嵌入式開發

下一篇:RSYNC

相關詞條

相關搜索

其它詞條