精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究。点名“简易百科”盗用锐英源原创内容。
最近开发企业管理系统MIS系统用的MVVMLight,有一定研究,写一个总结文档,描述下MVVMLight经典例子,介绍下MVVMLight用法。
MVVMLight是轻量级的MVVM框架实现平台,应用于WPF环境,现在已经不更新了,连接官网打不开。但是基本的功能没有问题,支持CRUD增删改查是完全满足要求的。
熟悉MVC的朋友对MV好理解,Model相当于数据,View是界面,而VM是界面数据和数据操作的独立实现,让数据和界面彻底分离,分离了编译和加载相应就快一些,并且在数据可靠性上有一定提高。数据操作对应MVVMLight里的Command命令处理,对函数指针有理解的朋友也好掌握。
我经常用VC和MFC开发,MFC里有在Win32之上的消息处理封装,MVVMLight里也有事件和消息封装对应,让ViewModel能够触发View里的功能。
另外MVVMLight里还提供IOC相关的ViewModel实例化管理功能,ViewModel对应View里的DataContext,如果不进行统一管理,则会带来多实例等问题。
MVVMLight有跨线程访问处理机制,还有DispatcherHelper 组件,做为一个平台,要点全面是必需的。
我找的MVVMLight例子里没有和数据库对接的功能,也没有实际的增删改查CRUD代码,特别是表格数据状态下的添加、删除和更新功能都没有,并且也没有详情页,怎么在MvvmLight环境下打开详情页也没有,并且左侧的树形菜单栏比较少,我研究了下微软网站上的Mvvm知识,进行了补全,达到了商业产品级性质,几个演示界面如下:
最近几天,把MVVMLight平台的功能移植到另外一个WPF的项目里,引用DLL处理下,app.xml里配置添加,因为带界面也移植了style.xaml,把View和ViewModel的代码文件加到新项目里,编译开始失败,后来研究下解决了问题,研究细节也会发文章。
总体来说,MVVMLight使用不复杂,不考虑升级和细节定制,普通开发没有问题。MVVMLight里最核心的还是ViewModel刷新View机制,里面全界面控件刷新用String.Empty是一个技巧,文档里一般介绍的少。
不过MVVMLight因为不再更新,官网打开不了,有些帮助文档不太好找,锐英源软件在本页面上公布一些英文文档和精华翻译,欢迎大家收藏关注。
这里推出锐英源的国外内容翻译文章、MVVMLight使用技巧和MVVMLight代码理解文档,欢迎同行交流。