首頁 >常見問題 >wpf和winform的差別

wpf和winform的差別

(*-*)浩
(*-*)浩原創
2019-06-14 11:55:2943091瀏覽

WinForm是·Net開發平台中對Windows Form的一種稱謂。

WPF(Windows Presentation Foundation)是微軟推出的基於Windows 的使用者介面框架,屬於.NET Framework 3.0的一部分。它提供了統一的程式設計模型、語言和框架,真正做到了分離介面設計人員與開發人員的工作;同時它提供了一個全新的多媒體互動使用者圖形介面。是微軟推出取代winform的產品,能做到分離介面設計人員與開發人員的工作,提供多媒體互動使用者圖形介面,三大核心組件是presentationcore、presentationFramework、windowsBase

wpf和winform的差別

#WPF和winform最大的差別在於WPF底層所使用的DirectX,winform底層使用的是GDI ,所以WPF的圖形介面上更勝一籌

#(建議學習:PHP視訊教學

GDI (Graphics Device Interface)圖形設備接口,它的主要任務是負責繪圖程式之間的資訊交換、處理,所有windows程式的圖形輸出

DirectX(Direct Extension)多媒體編程接口,加強3D圖形和聲音效果,有很多API組成。依照性質分類可分為四大部分:顯示部分,聲音部分,輸入部分與網路部分

在WinForm程式開發時,最頭痛的一個問題就是,worker執行緒修改控制項的屬性而導致程式崩潰,而且這種非法操作並不是每次都失敗。 WinForm控制項提供了InvokeRequired屬性來判斷目前執行緒是不是控制項建立執行緒。問題是當控制項樹很深是,這個屬性會比較慢。 

  

WPF開始設計的時候,就考慮到了多執行緒的問題。大部分的WPF類別都繼承於DispatcherObject。 DispatcherObject實際上就是Dispatcher的一個簡單封裝。 Dispatcher提供了類似InvokeRequired的方法(CheckAccess)。這個方法只是比較線程的ID,所以會很快。另外,Dispatcher提供了優先隊列,非同步調用,Timer等功能,簡化了開發多執行緒GUI程式。 

控制項的Composition 

  

在WinForm如果要實作一個有Checkbox的下拉式選單,將不得不處理複雜的Window訊息。而透過WPF控件的Content Model和Layout系統,WPF控件可以包括任何類型的控件,甚至.Net CLR物件。許多現代的控件廠商也提供了Composition的控件,實作方法和WPF的Content模型也比較相似。 WPF開發團隊應該要藉鏡了Infragistics的許多想法。有了這個基礎,開發新的WPF控制更加簡單了。 

XAML 

  

個人覺得XAML應該是WPF中比較劃時代的東東。透過XAML,我們可以用文字的方式描述複雜的Object Graph。這個想法在VB中就有了,不過XAML更簡化,以便於使用工具來產生XAML。透過Command,Routing Event等機制,介面設計人員和程式設計師有比較清楚的界線。 

更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!

以上是wpf和winform的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:選單列在哪下一篇:選單列在哪