我已經開發了一個大型企業範圍的WPF應用程序近2年。與任何UI開發一樣,瞭解您正在使用的特定技術的最佳UI設計模式也很重要。根據我對WPF的經驗,Model-View-ViewModel設計模式是最普遍的。瞭解WPF的數據綁定功能後,很容易明白爲什麼像M-V-VM這樣的模式被接受。即使您不逐字逐句遵循M-V-VM模式(或其變體),請了解該模式解決的大圖解決方案。基本上,保持您的UI/XAML文件(視圖)在一個單獨的文件和所有的代碼隱藏/邏輯(ViewModel)在另一個文件。該視圖僅對ViewModel中的更改作出反應。
保持ViewModel獨立,你會有幾個好處。
容易地創建視圖模型對象的自動化測試,因爲在它沒有圖形組件。它只是一個具有方法/屬性的對象。
更容易在開發人員之間分配工作(例如,一個開發人員在另一個開發人員構建ViewModel時構建視圖)。
在ViewModel中使用多線程要容易得多,因爲它從不直接與UI控件進行交互。你知道我的意思,如果你曾嘗試在後臺線程上更新文本框。
下面是一些VS從我的經驗窗口形式WPF的優點/缺點的:
優點:
好多了UI的外觀和體驗爲最終用戶。WPF允許您對任何UI元素的外觀進行最終控制。 (例如,包含每行的圖片/按鈕/文本的列表框)。
數據綁定是驚人的。綁定XAML文件中的UI控件以指向ViewModel類的特定屬性,並且所有內容都可以正常工作。 UI簡單地響應ViewModel的任何屬性更改。完全分離!如果您希望多個窗口/用戶控件同時顯示相同的信息並自動保持同步,您會真正看到此優點。
我在MSDN上讀到的一切都是,微軟將更多的資源投入到WPF中,而不是舊的窗體中。
缺點:
我能想到的最好resouces: 「在C#2008年臨WPF」
祝你好運!如果你可以通過這個學習曲線,你不會後悔WPF。