日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF详解

發(fā)布時間:2023/12/14 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ?WPF(Windows Presentation Foundation,Windows呈現(xiàn)層框架)是微軟推出的基于Windows 的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統(tǒng)一的編程模型、語言和框架,真正做到了分離界面設計人員與開發(fā)人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。

? ? ? ?WPF中文譯為"Windows呈現(xiàn)基礎”,其原來代號為“Avalon”,因與“我佩服”拼音首字母組合一樣,國內(nèi)有人調(diào)侃地稱之為“我佩服”。由 .NET Framework 3.0 開始引入,與 WCF(Windows Communication Foundation,Windows通訊框架)及WWF(?Windows Workflow Foundation,Windows工作流框架)并行為新一代 Windows操作系統(tǒng)以及 WinFX的三個重大應用程序開發(fā)類庫。

? ? ? ?WPF是微軟新一代圖形系統(tǒng),運行在.NET Framework 3.0及以上版本下,為用戶界面、2D/3D 圖形、文檔和媒體提供了統(tǒng)一的描述和操作方法。基于DirectX 9/10技術(shù)的WPF不僅帶來了前所未有的3D界面,而且其圖形向量渲染引擎也大大改進了傳統(tǒng)的2D界面,比如Vista中的半透明效果的窗體等都得益于WPF。 程序員在WPF的幫助下,要開發(fā)出媲美Mac程序的酷炫界面已不再是遙不可及的奢望。 WPF相對于Windows客戶端的開發(fā)來說,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持(flow text support),3D視覺效果和強大無比的控件模型框架。

? ? ? ?WPF是 Microsoft 用于 Windows 的統(tǒng)一顯示子系統(tǒng),它通過 WinFX 公開。它由顯示引擎和托管代碼框架組成。WPF統(tǒng)一了 Windows 創(chuàng)建、顯示和操作文檔、媒體和用戶界面 (UI) 的方式,使開發(fā)人員和設計人員可以創(chuàng)建更好的視覺效果、不同的用戶體驗。WPF 發(fā)布后,Windows XP、Windows Server 2003 和以后所有的 Windows操作系統(tǒng)版本都可以使用它。

? ? ? ?WPF是.Net Framework 3.0里新推出的主打功能之一,加上Vista集成.Net Framework 3.0,改寫Winform時代,可謂是影響巨大!WPF是一套API函數(shù)庫,由.Net FrameWork3.0以上版本類庫運行。

? ? ? ?WPF是Windows操作系統(tǒng)中一次重大變革,與早期的GDI+/GDI不同。WPF是基于DirectX引擎的,支持GPU硬件加速,在不支持硬件加速時也可以使用軟件繪制。高級別的線程繪制可以提高使用者的體驗。自動識別顯示器分辨率并進行縮放。而Vista就是一個非常典型的例子。?

特點

? ? ? ?程序人員與美工人員明確分工,美工人員可以使用Expression Studio中套裝工具可視化的設計界面。然后交給程序開發(fā)組中的XAML就可以。讓程序人員直接套用到開發(fā)環(huán)境,不需要想頁面怎么切了。

? ? ? ?對與WPF最重要的特色,矢量圖的超強支持 。兼容支持2D繪圖,比如矩形、自定義路徑,位圖等。文字顯示的增強,XPS和消鋸齒。三維強大的支持。包括3D控件及事件,與2D及視頻合并打造更立 體效果。漸變、使用高精確的(ARGB)顏色,支持浮點類型的像素坐標。這些對GDI+遠遠不及的。

? ? ? ?靈活、易擴展的動畫機制!.Net Framework 3.0類庫提供了強大的基類,只需繼承就可以實現(xiàn)自定義程序使用繪制。接口設計非常直觀,完全面向?qū)ο蟮膶ο竽P汀J褂脤ο竺枋稣Z言XAML。使用開發(fā)工具的可視化編輯。

? ? ? ?您可以使用任何一種.Net編程語言(C#,VB NET等開發(fā)語言)進行開發(fā)。XAML主要針對界面的可視化控件描述,成生進會分析成.cs或.vb文件,并最后將編譯為CLR中間運行語言。?

組成結(jié)構(gòu)

? ? ? ?WPF由兩個主要部分組成:引擎和編程框架。

1、WPF引擎

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

2、WPF框架

? ? ? ?WPF框架為媒體、用戶界面設計和文檔提供的解決方案遠遠超過開發(fā)人員現(xiàn)在所擁有的。WPF的設計考慮了可擴展性,使開發(fā)人員可以完全在WPF引擎的基礎上創(chuàng)建自己的控件,也可以通過對現(xiàn)有WPF控件進行再分類來創(chuàng)建自己的控件。WPF框架的核心是用于形狀、文檔、圖像、視頻、動畫、三維以及用于放置控件和內(nèi)容的面板的一系列控件。這些“自有控件”為開發(fā)下一代用戶體驗提供了構(gòu)造塊。

? ? ? ?Microsoft 在引入WPF的同時,還引入了?XAML,這是一種公開表示 Windows應用程序用戶界面的標記語言,可使開發(fā)人員和設計人員用來構(gòu)建和重用 UI 的工具更加豐富。對于 Web 開發(fā)人員,XAML 提供了熟悉的 UI 說明模式。XAML 還使 UI 設計從基礎代碼中分離出來,從而使開發(fā)人員和設計人員之間的合作更加緊密。

選擇理由

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

對于開發(fā)人員和設計人員:WPF提供了統(tǒng)一的 UI 平臺,因此他們只需學習一個模式,就可以獲得無限可能的 UI 體驗。

對于?.NET開發(fā)人員:其框架是熟悉的,并且它最終將減少提供最佳用戶體驗和通信邏輯所需的代碼行數(shù)。

對于設計人員:WPF提供的平臺可消除內(nèi)容、媒體和應用程序之間的邊界。最重要的是,WPF可以使開發(fā)人員和設計人員同步緊密地合作來快速提供不同的連通體驗。

響應程度

? ? ? ?國內(nèi)即時通訊領導商騰訊Tencent曾經(jīng)發(fā)布過一款基于WPF的QQ 概念版(QQ 概念版:QQ 概念版是騰訊首款NUI(自然用戶交互)產(chǎn)品,全面實現(xiàn)了多點觸摸操作。在實現(xiàn)IM的基礎功能外,QQ概念版還推出了動感相框、動態(tài)背景、多Tab聊天窗口、3D交互、矢量界面、桌面好友等一系列新功能、新體驗以及Windows7的重要新特性。

運行環(huán)境

WPF可以運行在三種環(huán)境下面,如下:

1、 WPF桌面程序,此類型沒有任何限制,可以是Windows可執(zhí)行程序也可以是DLL動態(tài)鏈接庫。只需要.Net Framework 3.0以上版本支持即可!

2、?RIA分布式環(huán)境,服務器與客戶端瀏覽器下載使用ActiveX插件方式解釋執(zhí)行的。微軟更名為Silverlight,由于安全原因,微軟提取精簡版.Net Framework到Silverlight中獨立運行,精簡了很多類庫。

3、瀏覽器承載的應用程序(稱為 XAML 瀏覽器應用程序 (XBAP)),您可以創(chuàng)建能夠使用超鏈接(Hyperlink 類)導航的頁面 (Page) 和頁函數(shù) (PageFunction(Of (T)))。

服務和支持

? ? ? ?隨著Vista RTM的發(fā)布,微軟新一輪的技術(shù)推廣已經(jīng)開始。其實在此之前,WPF已經(jīng)有很大的推廣,因為CTP版本已經(jīng)發(fā)布了有一段日子了。當然很多開發(fā)人員主要以技術(shù)研究為主,也有少數(shù)公司已經(jīng)開始從事基于WPF的產(chǎn)品研發(fā)工作。

? ? ? ?目前WPF的最新版本為4.5(對應.net framework 4.5),你可以從msdn上免費下載。

前景分析

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

? ? ? ?還有就是桌面應用程序和瀏覽器應用程序的融合,根據(jù)ms的承諾,正在開發(fā)中的WPF/E,即WPF Everywhere版本,將為基于WPF的應用程序提供全面的瀏覽器支持,這意味著未來開發(fā)出的應用程序?qū)⒖梢曰跒g覽器在不同的操作系統(tǒng)上運行,根據(jù)WPF/E開發(fā)組的定義,WPF/E仍然是WPF的子集,而不是后繼版本。總體而言,WPF的前景應該是一片光明。

實質(zhì)

? ? ? ?先從UI上分析,UI的功能是讓用戶觀察和操作數(shù)據(jù),為了能顯示數(shù)據(jù)和響應用戶的操作通知程序(通過事件來通知,如何處理事件又是一系列的算法),所以控件就是顯示數(shù)據(jù)和響應用戶操作的UI元素,也即:控件就是數(shù)據(jù)和行為的載體。?

數(shù)據(jù)驅(qū)動UI

? ? ? ?什么是數(shù)據(jù)驅(qū)動UI呢?我們知道傳統(tǒng)的GUI界面都是由windows消息通過事件傳遞給程序,程序根據(jù)不同的操作來表達出不同的數(shù)據(jù)體現(xiàn)在UI界面上,這樣數(shù)據(jù)在某種程度上來說,受到很大的限制。WPF中是數(shù)據(jù)驅(qū)動UI,數(shù)據(jù)是核心,處于主動的,UI從屬于數(shù)據(jù)并表達數(shù)據(jù),是被動的。WPF數(shù)據(jù)第一,控件第二。

分類

雖然控件沒有數(shù)據(jù)重要,但是還是比較重要的,畢竟是門面啊,只是在數(shù)據(jù)面前,它比較"有禮貌"。控件有很多,但是如果仔細去分析,也是有規(guī)律可循的,根據(jù)其作用,我們可以把控件分為6類:

  • 布局控件:是可以容納多個控件或者嵌套其他布局的控件,用于在UI上組織和排列控件。其父類為Panel。
  • 內(nèi)容控件:只能容納一個控件或者布局控件作為他的內(nèi)容。所以經(jīng)常借助布局控件來規(guī)劃其內(nèi)容。其父類為ContentControl。
  • 帶標題內(nèi)容控件:相當于一個內(nèi)容控件,但是可以加一個標題,標題部分也可以容納一個控件或者布局,其父類為HeaderedContentControl。
  • 條目控件:可以顯示一列數(shù)據(jù),一般情況下,是數(shù)據(jù)的類型是相同的。其共同的基類為ItemsControl。
  • 帶標題的條目控件:和上面的帶標題內(nèi)容控件類同,其基類為HeaderdeItemsControl。
  • 特殊內(nèi)容控件:這類控件比較獨立,但也比較常用,如TextBox,TextBlock,Image等。

當這些控件不能夠滿足需求的時候,也可以從受信任的來源下載控件,并通過添加引用來導入自定義控件。支持WPF的第三方控件有:ComponentOne Studio,ActiveReports,visifire,Stimulsoft Report等。

總結(jié)

以上是生活随笔為你收集整理的WPF详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。