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仍然是其出色的一部分。