之前一直開發Winfrom程式,由于近一段時間轉開發Wpf程式,剛好拜讀劉鐵錳《深入淺出WPF》對此有一些理解,如有誤導指出,還望斧正!!!
說道WPF資料驅動的編程思想,MVVM,是為WPF量身定做的模式,該模式充分利用了WPF的資料系結機制,最大限度地降低了Xmal檔案和CS檔案的耦合度,也就是UI顯示和邏輯代碼的耦合度,如需要更換界面時,邏輯代碼修改很少,甚至不用修改,與WinForm開發相比,我們一般在后置代碼中會使用控制元件的名字來操作控制元件的屬性來更新UI,而在WPF中通常是通過資料系結來更新UI;在回應用戶操作上,WinForm是通過控制元件的事件來處理,而WPF可以使用命令系結的方式來處理,耦合度將降低,
1 MVVM : model--view--viewmodel,在view層不直接參考model,而是通過viewmodel將view與model關聯,降低了view和model的耦合,如下圖所示:

2 View與Viewmodel資料系結
View中的顯示資料系結viewmodel的屬性(因此viewmodel需要繼承INotifyPropertyChanged通知介面),其思想是資料驅動,而非事件驅動,

3 Binding 對資料的轉換與校驗
Bindind的作用就是架在Source與Target之間的橋梁,資料可以在這座橋梁的幫助下來流通,但是現實世界有安檢關本來校驗資料的有效性,當然在設計思路上Binding用于有效性校驗關卡是validationRules屬性,資料型別轉換的關卡是Converter屬性,
4 命令

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/117691.html
標籤:C#
