Windows Presentation Foundation(WPF)介紹

來源:互聯網
上載者:User

 

Windows Presentation Foundation:適用於不同使用者介面的統一方法

對幾乎所有的應用程式來說,使用者介面都是重要的組成部分。現在,使用者對這些介面的要求越來越高了。當然,我們仍然需要傳統的菜單驅動式 GUI。但是除此之外,許多應用程式還需要能夠播放視頻、運行動畫、採用二維或三維圖形,以及調用不同的文檔。無論是通過安裝的案頭用戶端還是通過 網頁瀏覽器來訪問應用程式,上述功能都必須可以正常使用。

一直以來,Windows 上的這些使用者介面功能都是以不同方式提供的。例如,開發人員可以使用 .NET Framework 中的 Windows Forms 來建立 Windows GUI,使用 HTML、Java Applet或 JavaScript 代碼建立 網頁瀏覽器介面,或是使用 Windows Media Player、Adobe 的 Flash Player 等軟體播放視頻,文檔格式則以 Microsoft Word、Adobe PDF 或其他軟體進行定義。很明顯,開發人員面臨著巨大的挑戰:如何使用不同的技術,為不同的用戶端建立一致的使用者介面。這相當困難。

Windows Presentation Foundation (WPF),最初代號為“Avalon”,就是為解決這一難題而設計。WPF 為所有的這些使用者介面提供一致的技術基礎,從而大幅簡化了開發人員的工作。WPF 採用更為現代的方法,可使用視訊、動畫、二維或三維圖形以及各種類型的文檔,從而可以讓使用者以全新的方式處理資訊。此外,WPF 還為案頭用戶端和瀏覽器用戶端提供了通用基礎,大大簡化了二者的應用程式開發工作。

讓我們以圖 4 中的介面(其中包含了映像、現場圖、三維視圖等等)為例說明 WPF 的部分功能。過去,開發人員需要懂得各種技術才能進行工作;而現在通過這種更為一致的方法,開發人員可以輕鬆製作出類似樣本中的使用者介面。

圖 4

另外一個長期困擾使用者介面開發人員的問題是,如何建立高效介面需要的不同角色。軟體開發人員需要編寫相應的介面邏輯,但是,他們並不是定義介面感觀的最佳人選。一般來說,人機互動領域的設計人員和專家更適合這一工作。但是在以前的技術(如 Windows Forms)背景下,這些問題完全由開發人員決定。開發人員和設計人員之間沒有實現真正有效協作。WPF 藉助於可擴充應用程式標記語言 (XAML) 解決這一問題。XAML 是一種基於 XML 的語言,允許以聲明方式指定使用者介面 -而非代碼。這就,開發工具就能夠根據設計人員建立的可視化顯示,更加容易地產生和使用介面規範。實際上,Microsoft 的一款新產品 Expression Interactive Designer 就是為此而設計。使用這一工具(其他的由第三方提供),設計人員可以建立介面外觀,然後產生他們所建立介面的 XAML 定義。開發人員將這些定義匯入 Visual Studio 之後,就可以著手構建介面所要求的邏輯了

開發人員建立了直接在 Windows 上啟動並執行安裝版 WPF 應用程式後,就可以使用 WPF 提供的全部功能了。但是,若要建立在 網頁瀏覽器內部啟動並執行用戶端程式,開發人員應建立一個 XAML 瀏覽器應用程式,我們通常稱之為 XBAP。與安裝版 WPF 應用程式的基本原理相同,XBAP 允許在可下載的瀏覽器應用程式中表示與使用者介面相同的樣式。兩種應用程式可以使用相同的代碼,這也就意味著開發人員不再需要針對案頭和瀏覽器用戶端的不同技術集。特別是按照此類豐富網際網路應用程式的現狀,在安全沙箱內運行從 Internet 下載的 XBAP,將會限制應用程式的功能。但是,安裝版 WPF 應用程式中提供的大量使用者介面功能子集也可用於 XBAP。

WPF 安裝版應用程式和 XBAP 都可以利用 WPF 的現代圖形支援,其中包括使用硬體加速、支援向量圖形以及其他更多功能。通過提供更強大的圖形支援功能,WPF 使得一系列資料視覺效果選項成為可能,而這依靠 Windows Forms 或其他的早期技術是不可能實現的。WPF 還提供了 XML Paper Specification (XPS) 的基礎,可定義查看、分發和列印固定格式文檔的標準格式。

使用者介面 是現代應用程式中複雜而重要的組成部分。通過 WPF,.NET Framework 3.0 提供了一種比較完整和一致的解決方案,用於應對使用者介面方面的難題。其目標是使構建使用者介面的相關人員(包括開發人員和設計人員)能夠更有效進行工作。

Source: guoguo : Windows Presentation Foundation(WPF)介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.