前言
經(jīng)常遇到還沒開始學(xué)習(xí)C#的學(xué)員問我:
Winform和WPF,我應(yīng)該先學(xué)什么?
在很多人眼里,WPF是一門高級技術(shù),而Winform是比較Low的。
今天跟大家聊聊,關(guān)于WPF和Winform。
簡單聊聊
首先我認(rèn)為Winform不算是過時的技術(shù),WPF也不算是什么新技術(shù),兩者并不是你死我活的競爭狀態(tài),還是不同階段的不同選擇。
就像是汽車一樣,Winform偏向于家用代步車,WPF偏向于高級的轎車,不同的價格,不同的性能,不同的定位。
對于剛畢業(yè)幾年的年輕人來說,家用代步車無疑是更適合的,但是你只要努力,你肯定會到達購買高級轎車的階段。
所以我的建議是對于初學(xué)者來說,還是要先學(xué)習(xí)Winform,因為學(xué)習(xí)Winform的成本會更低,學(xué)習(xí)WPF,你要學(xué)習(xí)的內(nèi)容會更多,至少要多學(xué)習(xí)一門XAML語言。
然而,不管是代步車還是高級轎車,都需要有駕照,你才能上手,對于Winform和WPF來說,這個駕照就是C#編程語言。
兩者區(qū)別
如果要說Winform和WPF最大的區(qū)別在哪里?
我覺得一方面是布局方式,一方面是驅(qū)動方式。
首先談下布局方式,一般來說,界面布局的方式有兩種,一種是拖控件,另一種是通過布局控件來實現(xiàn),而Winform主要是以拖控件的方式為主,配合布局控件做整體布局,而WPF則恰恰相反,雖然也可以拖控件,但是很少這么做,主要是通過編寫XAML代碼來實現(xiàn)。
再來說下驅(qū)動方式,Winform是基于事件驅(qū)動,WPF是基于數(shù)據(jù)驅(qū)動,以操作一個按鈕,執(zhí)行一個查詢操作為例,Winform是在按鈕的點擊事件里,寫好查詢代碼,然后將結(jié)果展示在數(shù)據(jù)控件里,而WPF則是通過按鈕綁定一個動作方法,數(shù)據(jù)控件綁定好數(shù)據(jù)源,在方法里查詢即可,這樣做的目的就是盡量減少前后端的耦合。
寫在最后
無論是Winform還是WPF,都是一種開發(fā)桌面程序的技術(shù),都需要采用C#語言來編程。
不管是什么語言,什么技術(shù),對我們來說,只是一個工具而已,適合自己的才是最好的,能解決問題的就是好的,就像那句諺語,白貓黑貓,能抓老鼠的就是好貓。
不管是Winform還是WPF,最終都是為了項目開發(fā),所以最好的方式是兩者都要學(xué)會,然后結(jié)合項目的實際需要、開發(fā)周期、開發(fā)成本來綜合選擇。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
的。WPF是.NET中編寫程序界面的一套體系。微軟提出WPF時的構(gòu)想是非常好的:它希望把程序的界面和運行邏輯部分完全分開來,這樣可以有專門美工來設(shè)計程序界面;而程序員則專心實現(xiàn)程序功能的編碼。它能
發(fā)表于 11-19 14:33
c#/winform c#/wpf c++/QT上位機,本人從事上位機開發(fā)5年,熟悉各大底層硬件交互,tcp/ip udp 串口通訊 CAN通訊 有意+ 2038 3478 72
發(fā)表于 09-21 21:20
嵌入式腳本語言能賦予我們系統(tǒng)程序更加強大的靈活性與拓展性,以魔獸級的Lua為例,不過200多K的體積卻擁有極快的運算速度。在.NET開發(fā)應(yīng)用中,它可以被廣泛的應(yīng)用到允許Unsafe Code諸如:WinForm、WebForm、WPF等領(lǐng)域,其表現(xiàn)出來的易用性(無須考慮核心模塊復(fù)雜的邏輯,只需...
發(fā)表于 12-23 06:46
WPF的全稱是Windows Presentation Foundation,是未來十年里Windows平臺GUI開發(fā)的最主要的技術(shù)之一。它是微軟開發(fā)的一款基于.NET(目前最新版本為.NET Framework 4.0)平臺的最新的軟件界面顯示系統(tǒng)
發(fā)表于 07-27 15:57
?1724次閱讀
智能后視鏡到底該如何選擇,感興趣的小伙伴們可以看看我的上傳的資源,有分享更多。
發(fā)表于 08-12 15:13
?18次下載
現(xiàn)狀,調(diào)查和分析出運動員運動效果評估系統(tǒng)的需求,基于WPF程序設(shè)計語言完成了對運動員運動效果評估系統(tǒng)的開發(fā),所開發(fā)的運動員運動效果評估系統(tǒng)s具有運動員日常信息管理,運動效果評估,運動員傷病康復(fù)評價等功能。并對運動效果
發(fā)表于 11-16 16:01
?3次下載
開始著手寫這個WPF系列,這里的一站式,就是力爭在每一個點上能把它講透,當(dāng)然,做不到那么盡善盡美,如果有不對的地方也歡迎朋友們指正,我會逐步補充,爭取把這個系列寫好。 通常,WPF 應(yīng)用程序從兩個
發(fā)表于 11-30 11:02
?4299次閱讀
電機控制系統(tǒng)是決定電動汽車性能優(yōu)劣的核心,為了更加直觀方便的觀察和分析控制效果的優(yōu)劣,并方便快捷的實現(xiàn)對控制參數(shù)的修改,使控制效果達到最佳,本文設(shè)計并實現(xiàn)了基于WPF的電機控制系統(tǒng)監(jiān)控軟件。軟件采用
發(fā)表于 12-22 13:46
?11次下載
本文檔的主要內(nèi)容詳細介紹的是使用WPF開發(fā)的簡易計算器軟件免費下載。 需要安裝VS2017以上版本。用WPF開發(fā)得一個小程序。新手可以看看,當(dāng)一個練手玩玩。
發(fā)表于 09-18 08:00
?1次下載
使用C#WPF程序與西門子S71200/S71500PLC通信,實現(xiàn)數(shù)據(jù)實時采集,入數(shù)據(jù)庫,實時趨勢圖顯示,實時報警功能。
發(fā)表于 09-13 10:28
?8215次閱讀
一文帶你深度了解該如何選擇SDWAN、VPN、和專線。
發(fā)表于 09-22 17:27
?2561次閱讀
完美的主題,讓您的整個WPF應(yīng)用程序看起來真正專業(yè)。設(shè)置所有MicrosoftWPF控件(包括數(shù)據(jù)網(wǎng)格)以及所有Xceed控件的樣式。包括匹配的畫筆,因此您可以設(shè)計自己的控件或其他控件,使其與主題無縫集成。
發(fā)表于 11-01 11:40
?1012次閱讀
為腳本工具添加一個可視化的界面,在界
面上添加一些按鈕/列表/彈框等信息,將會降低腳本工具的學(xué)習(xí)和使用成本,提高工具的友好性。
基于C#語言的WPF(Windows Presentation Foundation)便是一個很好的界面開發(fā)工具,它可以進行可視化編程,
發(fā)表于 05-09 11:03
?5次下載
DML和EML有什么區(qū)別?該如何選擇?本文將回答這些問題。
發(fā)表于 06-30 10:43
?2399次閱讀
據(jù)了解,Windows Presentation Framework(簡稱 WPF)是一款用于構(gòu)建 Windows 桌面應(yīng)用的用戶界面(UI)框架,其獨特之處在于,它能支持豐富多樣的應(yīng)用開發(fā)功能。
發(fā)表于 05-22 14:26
?1057次閱讀
評論