簡體   English   中英

WPF或Windows窗體

[英]WPF or Windows Forms

我已經玩了大約一年的C#控制台應用程序,我想繼續創建GUI應用程序。 除了基本的Java應用程序之外,我從未進行任何GUI開發,但我想繼續使用C#。 我應該開始學習Windows窗體還是直接跳到WPF? 有很大的不同嗎? WPF是建立在Windows窗體之上還是完全不同?

如果你剛剛開始,直接跳到WPF。

它將允許您開始使用標記來創建豐富的界面來定義您的界面,而無需告訴您從Windows Forms學習的可能的壞習慣(對於WPF)。

這兩種技術完全不同。 它們確實為兩個方向提供了一些互操作性層,但除此之外沒有任何共同之處。 Windows Forms或多或少是Win32 / MFC之上的輕量級包裝器,這意味着它在.NET中的可擴展性在所有情況下都不是那么好。 WPF是一個從頭開始實現的新UI框架。 在定制現有類型時,WPF也更加靈活。

但是,至少根據我的經驗,Windows Forms似乎是業界更常用的桌面UI框架。 雖然WPF提供Silverlight和XBAP應用程序,但Windows窗體不能與Web開發一起使用。

如果你以前做過任何UI開發,我敢說Windows Forms更容易學習,因為它遵循更傳統的編程范例。 WPF的編程模型與此截然不同。 雖然WPF可以像Windows窗體一樣使用,但是在您接受WPF提供的數據綁定和封裝之前,它的大多數好處都無法實現。

盡管說明了一些支持Windows窗體的觀點,但是如果您只想學習UI框架,那么選擇WPF而不是Windows Forms對我來說將是一個明智的選擇。 它在各個方面都優於Windows Forms。 我只是希望軟件行業能夠更大規模地適應它! (雖然不像任何人在我們上網之后再寫桌面應用程序了。)

這兩種技術都有他們的專業和能力。

WPF更適合跨平台開發和創建“華而不實”的GUI。 然而,它需要比WinForms更新的.net框架,並且需要兼容dx9的GPU或更高(大多數人都會擁有)。

但是創建界面/連接所有事件等都需要更多一點。

WinForms仍然是一種強大的技術,通常可以比WPF更快的速度開發,但最終, 這兩種技術都可以用來實現同樣的目標。 然而,WPF是“更新”的標准。

WinForms通常用於開發業務應用程序,而WPF通常用於創建更多基於最終用戶的軟件,應用程序等。

WPF提供了非常豐富的工具來構建極其復雜的用戶界面。 它簡化了界面中硬件加速圖形的集成。 但是,Visual Studio WPF設計器非常糟糕(我幾乎從不使用它)。 我還認為WPF要復雜得多,而且開始起來比較困難。 但這當然是主觀的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM