当前位置:网站首页 / WPF4.5系列 / 正文

AY讲解一些自己对MVVMLight的理解[1]

时间:2018年06月29日 | 作者 : aaronyang | 分类 : WPF4.5系列 | 浏览: 270次 | 评论 0

Github地址:https://github.com/lbugnion/mvvmlight

文档库:http://www.mvvmlight.net/doc

视频:https://www.pluralsight.com/courses/mvvm-light-toolkit-fundamentals

AY我是第一次系统学别人的框架哦,因为我想看看有没有好东西值得借鉴。


我自己也不清楚方向哈,走一步算一步。我的vs是2017版本

首先安装vs插件 vs2017版本    vs2015版本    vs2012   vs2013版本


然后新建项目,当前教程时间 2018-6-29 

image.png

点击确定完,运行效果

image.png

看下项目结构

image.png

有4个库

image.png

再看其他的文件,有点小懵逼。万事开头难,来吧。


GalaSoft.MvvmLight.dll

image.png

ICleanup,实现该接口,有个Cleanup方法,你自己定义代码释放资源


ObservableObject 实现通知接口

image.png


ViewModelBase 继承 ObservableObject 和实现接口, 带通知又可以支持清理垃圾,Cleanup方法里,Unregister该实例的所有的MvvmLight Messenger(在GalaSoft.MvvmLight.Messaging命名空间定义) 

image.png




Namesapce GalaSoft.MvvmLight.Command 下面

RelayCommand 提供了一个ICommand接口的实现 

RelayCommand<T> 提供了ICommand接口的泛型实现 

命名空间 GalaSoft.MvvmLight.Helpers。MvvmLight框架内部使用的一些辅助类,框架的使用者不直接接触该命名空间。 

命名空间 GalaSoft.MvvmLight.Messaging。消息类命名空间,提供全局的消息通知。可以简单理解为全局的event事件,

命名空间 GalaSoft.MvvmLight.Views。和View结合较紧密,ViewModel通过依赖该命名空间下的类,来避免直接引用View,用以解耦代码对具体的平台的依赖。 


IDialogService 对系统弹框消息的抽象。针对平台会在GalaSoft.MvvmLight.Platform程序集里分别实现 ,mvvmlight不仅仅用在wpf的,uwp,wp手机,xamarin等移动开发都有

INavigationService 对页面导航的抽象,不同平台会有不同的实现 


image.png


GalaSoft.MvvmLight.Extras程序集

  仅包含1个命名空间: 

  Namesapce GalaSoft.MvvmLight.Ioc 。依赖注入使用的容器放在这个命名空间。

  ISimpleIoc 接口,IOC(Inverse Of Control)控制反转,依赖注入(Dependency Injection),简单可以理解为一个对象容器,替你创建和管理对象。反正如果你学过微软Unity的IOC,这些很容易理解。

  在MVVM中,一般是ViewModel,也就是说,页面页面对应的绑定的实体类,可以通过ioc控制为单例,多例等生命管理。


PreferredConstructorAttribute 该类继承自Attribute,不常用。当ViewModel存在一个以上的构造函数时,可以通过他来指定SimpleIoc默认调用的构造函数 

SimpleIoc     ISimpleIoc接口的实现。功能简单实用 


GalaSoft.MvvmLight.Platform程序集,依赖平台具体实现的功能会放到这个程序集里,包含2个命名空间:

DispatcherHelper 


非UI线程操作UI线程时用到的帮助类,已针对各平台不同的写法做了封装。 

Namesapce GalaSoft.MvvmLight.Views  这个貌似wpf是没有的,只有移动端有。

DialogService 是IDialogService接口的实现 

NavigationService 是INavigationService接口的实现 

image.png

uwp,xamarin都有

image.png



====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========




推荐您阅读更多有关于“MvvmLight,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没成立公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF

声明:AYUI个人与商用免费,源码可购买。部分DEMO不免费

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

兼容XP到win10,vs2015/2017,最新AYUI:7.6.2.8

一次购买,永久免费更新,bug反馈及时修复,普通话回答你的问题,3个月的技术支持

AYUI7.6.X 企业服务详情:680元

AYUI7.6.X 官方风格详情:4000元

AYUI7.6.X 医疗+官方风格详情5000元

本AYUI知识版权最终归杨洋(AY)所有

本AYUI最终销售权归杨洋(AY)所有

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表