锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / WPF / WPF的MVVM特点、WPF的MVVM理解
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

WPF的MVVM特点、WPF的MVVM理解


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,有这些库支持,开发会容易一些。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内