WPF和WinForm的區別, 數據驅動與事件驅動的優點對比

Winform中針對界面的元素進行操做, 全部業務都關聯在當前窗口的後臺, 而在此以前, 無奈你是雙擊事件的添加方式、仍是後臺綁定事件的方式, windows

你都須要給每一個元素一個固定規範的名稱, 而後進行相關的數據操做。這種方式稱之爲事件驅動型。動畫

 

WPF的不一樣之處:spa

1.  WPF不單單在支持原生的Winform舊模式的操做下,升級了一種全新的模式,也是就是MVVM模式, 再也不爲每一個元素添加固定的名稱, 而後經過後臺進行事件進行業務代碼編寫。線程

2.  一套擴展能力超強的UI界面, 與早期的GDI+/GDI不一樣。WPF是基於DirectX引擎的,支持GPU硬件加速,在不支持硬件加速時也可使用軟件繪製。orm

     高級別的線程繪製能夠提升使用者的體驗。自動識別顯示器分辨率並進行縮放。事件

3.  有諸多的新功能,諸如: 樣式、觸發器、命令、動畫、模板 。開發

 

Winform模式帶來的常見的開發問題:form

1.爲了知足winform用戶界面的需求, 因此也天然誕生了不少公司或者我的爲其開啓一套常常UI的統一處理的控件, 如市面上常見的有DevExpress 、DotenetBar 等等。模板

因此天然就暴露出了新的問題,  使用了新的控件、那麼天然會有一套新的數據獲取方式、又須要去適應新的整套開發方式、而使用新的控件只是爲了知足winform界面不豐富、或者更增強大的功能。後臺

 

2.暫且不考慮第三方控件帶來的新的問題、winform自己的開發模式、就存在着自然的缺陷, 舉個例子, 按照常規的方式咱們給一個winform控件進行數據綁定操做。

按照事件驅動的模式, 他則是須要根據控件名來獲取咱們原始綁定的數據。   【 界面與數據徹底耦合, 取數據在綁定以前已經知道數據的結構, 在獲取的數據的時候卻還要回過頭去經過控件來找數據

 

數據驅動的理念是什麼?

什麼是數據驅動UI呢?咱們知道傳統的GUI界面都是由windows消息經過事件傳遞給程序,程序根據不一樣的操做來表達出不一樣的數據體如今UI界面上,這樣數據在某種程度上來講,

受到很大的限制。 WPF中是數據驅動UI,數據是核心,處於主動的,UI從屬於數據並表達數據,是被動的。WPF數據第一,控件第二。儘管WPF中,數據處以第一, 可是對於UI來講,

WPF中的UI仍然是其出色的一部分。

相關文章
相關標籤/搜索