![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mvvm Toolkit
文章平均质量分 94
微软自家的Mvvm Toolkit,也叫MVVM工具包,在著名的mvvmlight停更后,微软自己搞的。
如果你不知道如何系统学习MVVM,建议跟着走一遍。
结合实践应用之后,再回过头来看这些内容,相信对Mvvm模式会有较深刻的体会。
并且这种思想,整个软件开发都受用。
MelonSuika
这个作者很懒,什么都没留下…
展开
-
WPF应用程序使用MVVM模式
这篇文是2009年2月份的,原文在原文地址。年代有些久远了。但整篇看下来,里面的思想放现在也仍是精髓的,甚至是许多当下主流框架的核心思想,所以决定过一遍学习学习。我一直以为技术点的学习固然重要,但技术随谈类的文也要看。因为技术点是学不完的,而有些随谈中的思想了解后会受益良多。因为这篇文本身讲的很口头了,所以简单以翻译的方式去学习。WPF可以为应用程序开发人员提供很多功能,学习使用这些功能需要转变思维方式。原创 2024-02-28 13:48:37 · 1556 阅读 · 0 评论 -
CommunityToolkit.Mvvm学习笔记(5)——ObservableValidator
有时验证一个属性需要viewmodel去访问其他的服务、数据或API。这边提供了多种方法向属性添加自定义验证,使用哪种方法取决于场景和灵活度需求。下面有个示例,它说明如何使用} }2} }100} }typeof} }nameof} }} }在本例中,有一个静态的方法,它通过注入到viewmodel中的服务对Name属性执行验证(依赖注入章节有介绍)。该方法接收name。原创 2023-02-09 16:18:53 · 2439 阅读 · 0 评论 -
CommunityToolkit.Mvvm学习笔记(7)——Ioc控制反转
在Ioc中,最常见的解决方案是使用依赖注入(DI,DependencyInjection),它主要是创建大量的服务,并将服务注入到后端类中(例如,作为参数传给ViewModel构造函数)——这使得使用这些服务的代码不再依赖于这些服务的实现细节,并且可以方便地交换服务的具体实现。这里关键的点是,每个服务都能很好地使用特定平台的API,但因为这些API都是通过我们代码使用的接口抽象出来的,所以我们不需要关心它们,我们只是解析实例并使用它执行一些操作。实例,并初始化所有必要的服务,通常是在程序启动时做这些事。..原创 2022-07-24 11:52:41 · 4860 阅读 · 1 评论 -
CommunityToolkit.Mvvm学习笔记(6)——RelayCommand
由于项目时间比较紧,所以先拣使用频繁的模块学习了。ComponentModel中的ObservableValidator等后面有空再学。这篇先看命令RelayCommand,毕竟WPF中命令与变量的绑定是两大主要绑定。如果说属性绑定是向UI暴露数据,那Command就是向UI暴露方法(或者说逻辑)。MVVM Toolkit中的RelayCommand和RelayCommand 都是实现了ICommand的类,它们能够将方法或者委托暴露给View(MVVM中的V,UI界面)。这些类型作为在view...原创 2022-06-07 13:53:04 · 8191 阅读 · 3 评论 -
CommunityToolkit.Mvvm学习笔记(4)——Messenger
如果你对WPF有一定了解,你会发现WPF中的命令就是一个实现了ICommand接口的类。同样本文虽然标题是Messenger,但也要从IMessenger接口说起。至于Messenger的中文名,我觉得就叫它的直译“信使”好了,毕竟传递消息就是信使的能力嘛。命名空间:Microsoft.Toolkit.Mvvm.Messaging程序集:Microsoft.Toolkit.Mvvm.dll包:Microsoft.Toolkit.MvvmIMessenger接口使实现它的类具有在不同对象之间交换消息的能力原创 2022-06-06 08:51:33 · 9840 阅读 · 2 评论 -
CommunityToolkit.Mvvm学习笔记(3)——ObservableRecipient
所处的位置,命名控件:Microsoft.Toolkit.Mvvm.ComponentModel程序集:Microsoft.Toolkit.Mvvm.dll包:Microsoft.Toolkit.MvvmObservableRecipient类型是可监视对象(Observable objects)的一个基类,这些对象扮演着消息接收者的角色。ObservableRecipient类是ObservableObject的拓展,它也提供了使用IMessenger类型的内置支持。继承关系:Object→O原创 2022-06-04 12:15:16 · 4578 阅读 · 0 评论 -
CommunityToolkit.Mvvm学习笔记(2)——ObservableObject
这一节在文档中是属于MVVM-组件模型里的一个分支,但是它的上级条目并没有信息,所以直接来看它的内容吧。ObservableObject是一个基类,通过实现INotifyPropertyChanged和INotifyPropertyChanging接口可以使它的对象可被监视。它可以作为所有需要支持属性更改通知功能的对象的起点。ObservableObject 有着以下主要特性:下面有一个如何实现支持一个自定义属性的通知的例子:它提供了SetProperty(ref T, T, string)方法来检查原创 2022-06-03 15:49:50 · 9456 阅读 · 1 评论 -
CommunityToolkit.Mvvm学习笔记(1)——概述
先简单谈谈为什么选择学习使用这个MVVM框架。 接触.NET和WPF有一阵子了,用过WPF的应该都听说过MVVM模式,它是一种分离前后端、松耦合的模式。某种程度上来说是MVC和MVP的升级版,也一定程度上解决了前两者存在的一些问题。因为是模式,所以不仅限于WPF这一种开发,许多涉及UI的开发都会用到它,比如Vue。 既然它这么优秀,我自然想使用它。但由于我接触.NET和WPF时间都不长,很多基础知识掌握不好,所以我决定先使用原生的MVVM,即不用任何框架,自己先徒手实现试试。这样做或许比较费原创 2022-06-03 07:12:03 · 15566 阅读 · 1 评论