亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

WPF是新的界面UI機制,比WinForm靈活,但是用習慣了WinForm的程序員,可能對WPF的一些技術比較陌生,這里用一些比喻來引導理解下WPF的MVVM特點和WPF的MVVM理解。

C#的WinForm里界面窗口數據是一體的,數據相當于窗口的一個屬性,這個對理解MVVM不太友好,我們換個方向,在MFC的對話框里有DDX機制DoDataExchange函數,此函數負責界面上數據和控件互相轉換,觸發轉換需要調用UpdateData函數,從這點理解WPF的MVVM就好辦了,把DDX機制比喻換個名稱到MVVM里,就是數據綁定,為什么要數據綁定?xaml里的界面和cs代碼文件沒有直接關系,是隔離開的,有了數據綁定,才能讓數據顯示到界面或從界面上采集數據。數據綁定位于View和ViewModel之間,但這不是MVVM的全部。

VM,即ViewModel,里面有個消息機制,注意不是Win32開發里的消息隊列機制,是ViewModel通知xaml界面部分的機制,這機制如果放到整個體系里理解,就好理解了,在WinForm的CS開發體系里,S負責數據,C顯示數據,S的數據到C端也肯定是要有機制的,不可能憑空去讓C端刷新。

有了數據綁定和數據交換,再加上消息通知,這就是MVVM的核心,也是WinForm和MFC對話框DDX的核心,無非是WPF下換了xaml,而WinForm里是資源文件,MFC里是rc文件。但是資源文件和rc文件再怎么擴展也不如xaml形式的靈活,xaml也是抄html+css的形式,我在VS里看xaml里控件的屬性窗口,和DreamWeaver里看html元素屬性窗口,有似曾相似的感覺。不過xaml屬性窗口內容更多,初學者也會覺得復雜。

MVVM里的M也好理解,規范了數據形式,好處理數據。

MVVM里還有很多細節,比如服務、Mediator和視圖注冊等等,所以一些MVVM庫也應運而生,比如MVVMLight、Prism和微軟的Toolkit.mvvm,有這些庫支持,開發會容易一些。

分享到:
標簽:WPF
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定