2016-05-14 61 views
-3

我一直在使用Windows Forms一段時間,並且由於Forms的某些限制,我想按照更好的方式製作GUI。我發現WPF,看起來很有希望,但我問你們,如果有什麼更好的方法用C#爲Windows做好GUI? 在此先感謝!WPF是C#GUI的最佳解決方案嗎?

+1

鏈接到一篇文章(即使四歲,我會說它仍然成立):http://stackoverflow.com/questions/9752375/which-windows-gui-frameworks-are-currently-worth-learning –

+0

我發現WPF比winforms好得多,但第一年或第二年的學習曲線卻是一團糟。這是對事物的不同思考方式。使用模板進行數據綁定可以快速實現乾淨,可維護的UI。 –

回答

4

我會尋找他們計劃推動平臺的MS路線圖和說明。例如: .NET Technology Guide for Business Applications

這是自2013年11月以來,但仍然有很大程度上有效。除此之外它指出(重點煤礦):

.NET的Windows Presentation Foundation
這對於需要UI複雜的Windows桌面應用程序的首選技術,風格 定製和圖形 - 用於桌面的密集場景。 WPF也利用XAML視圖。 而WPF開發技能類似於Windows Store開發技能,因此從WPF遷移到 Windows Store應用程序比從Windows Forms遷移更容易。

HTML5 &基於JS的應用程序是一種替代路線,但我認爲它由於開發效率和可維護性原因而較差。如果你是一個腳本小夥子,那麼值得一看。

根據我的經驗,WPF絕對是用於桌面開發的方式。

+2

與WPF相比,HTML和JS是一個笑話...如果你需要它。我使用使用Direct3d進行快速渲染的圖表,我編寫可打開多個屏幕的應用程序。 HTML和JS無法做到這一點 - 他們是爲了簡單的東西。 – TomTom

1

肯定有一個學習曲線從Forms開發遷移到WPF,但在我看來,這項工作非常值得,而不僅僅是因爲WPF與Windows Forms在美學上有所不同。

WPF鼓勵您沿着MVVM(「模型 - 視圖 - 視圖模型」)路徑和UI,邏輯和數據元素之間的關注點分離。另外,MVVM是衆多MV *體系結構模式之一 - 關於不同模式之間差異的構成有一些爭論,但關於分離關注的共識絕對是一件好事。例如:

http://www.infoworld.com/article/2926003/microsoft-net/exploring-the-mvc-mvp-and-mvvm-design-patterns.html

https://nirajrules.wordpress.com/2009/07/18/mvc-vs-mvp-vs-mvvm/

What is difference between MVC, MVP & MVVM design pattern in terms of coding c#

在了形式獨特的優勢而言,有很多的東西,你用WPF獲得外的開箱,像雙例如雙向數據綁定和UI線程。但是我發現,思考問題的變化同樣重要。當我開始思考MVVM時,異步編程(例如從基於Windows的客戶端應用程序調用Web服務)等概念和理由變得更加容易。在網絡開發中,MV *也是所有的憤怒,所以技能(以及理想世界中的一些代碼)可以轉移到網絡上。