CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)

这篇具有很好参考价值的文章主要介绍了CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

本系列文章导航
  1. https://www.cnblogs.com/aierong/category/2297596.html

 

 

0.说明

CommunityToolkit.Mvvm包(又名MVVM 工具包,以前名为 Microsoft.Toolkit.Mvvm)是一个现代、快速且模块化的 MVVM 库。
它支持:.NET Standard 2.0、 .NET Standard 2.1 和 .NET 6(UI Framework 不支持)

 

文档地址:
https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/
github:
https://github.com/CommunityToolkit/dotnet

 

自我Demo地址:
https://github.com/aierong/WpfDemo/

 

包说明:

CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)

 

 

 

1.安装
nuget中安装:CommunityToolkit.Mvvm

 

特别提示:不要再安装下面这2个旧版本的包了,官方都提示过期了,推荐用CommunityToolkit.Mvvm8.1

CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)

 

 

2.使用

CommunityToolkit.Mvvm8.1最令人惊喜的是它提供的源生成器功能,它极大简化我们的mvvm代码

后面会整理一个系列文字逐一说明,下面先简单感受一下:

 

大部分通过标记一个属性就可以实现某个功能,这个很方便快捷,推荐

常用的总结
1.继承ObservableObject 并且类标记是分部类partial
2.私有变量标记属性 [ObservableProperty]
3.NotifyCanExecuteChangedFor 通知依赖命令
   NotifyPropertyChangedFor 通知依赖属性
4.RelayCommand 定义命令
5.OnPropertyChanged 手动通知属性更新
6.ButtonClickCommand.NotifyCanExecuteChanged() 手动通知命令更新
7.OnLastNameChanging OnLastNameChanged 某个属性改变
8.OnPropertyChanged 所有属性改变

定义viewmodel
1 public partial class DataViewModel2 : ObservableObject
2 {
3 
4 }

 

ObservableProperty标记属性
1 /*
2 [ObservableProperty]标记后,会自动生成属性(大写命名),例如:下面会自动生成Title
3 
4 注意:这个私有变量命名:必须是小写开头,或者下划线,或者m_
5 */
6 
7 [ObservableProperty]
8 private string title = "hello";

 

NotifyPropertyChangedFor通知依赖属性
 1 public string Caption
 2 {
 3     get
 4     {
 5         return string.Format( "Title:{0}-{1}" , Title , LastName );
 6     }
 7 }
 8 
 9 
10 [ObservableProperty]
11 [NotifyPropertyChangedFor( nameof( Caption ) )]
12 private string lastName = "abc";

 

NotifyCanExecuteChangedFor通知依赖命令
1 /*
2         [NotifyCanExecuteChangedFor( nameof( ButtonClickCommand ) )]
3 NotifyCanExecuteChangedFor是通知依赖命令(触发命令),相当于set中ButtonClickCommand.NotifyCanExecuteChanged();
4 */
5 
6 [ObservableProperty]
7 [NotifyCanExecuteChangedFor( nameof( ButtonClickCommand ) )]
8 private bool isEnabled = false;

 

命令
 1 /*
 2 RelayCommand是定义命令,自动生成的命令名是方法名+Command,并且初始化
 3 例如:下面的会自动生成ButtonClickCommand
 4 
 5 CanExecute是指定一个判断方法,判断是否可用
 6 */
 7 
 8 [RelayCommand( CanExecute = nameof( CanButton ) )]
 9 void ButtonClick ()
10 {
11     //点击按钮,修改标题
12     Title = "hello(改)";
13 }
14 
15 bool CanButton ()
16 {
17     return IsEnabled;
18 }

 

异步命令
 1 [RelayCommand]
 2 async Task AsyncButtonClick ()
 3 {
 4     await Task.Delay( 4800 );
 5     Title = "hello(Task改)";
 6 }
 7 
 8 
 9 
10 [RelayCommand]
11 async Task AsyncButtonParClick ( double val )
12 {
13     await Task.Delay( 4800 );
14     Title = $"hello(Task改):{val}";
15 }

 文章来源地址https://www.toymoban.com/news/detail-407734.html

到了这里,关于CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CommunityToolkit.Mvvm8.1 viewmodel使用-旧式写法(2)

      本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址)     CommunityToolkit.Mvvm8.1有一个重大更新的功能:源生成器功能,它极大简化我们的mvvm代码 但是本篇先总结一下原写法,下篇再总结源生成器功能   必须继承:ObservableObject   几个关键点

    2023年04月09日
    浏览(14)
  • CommunityToolkit.Mvvm8.1 IOC依赖注入控制反转(5)

      本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址) 希望提到的知识对您有所提示,同时欢迎交流和指正 作者:aierong 出处:https://www.cnblogs.com/aierong     CommunityToolkit.Mvvm包不提供ioc功能,但是官方建议使用:Microsoft.Extensions.DependencyInject

    2023年04月14日
    浏览(25)
  • CommunityToolkit.Mvvm8.1 viewmodel源生成器写法(3)

      本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址) 希望提到的知识对您有所提示,同时欢迎交流和指正 作者:aierong 出处:https://www.cnblogs.com/aierong   CommunityToolkit.Mvvm8.1最令人惊喜的是它提供的源生成器功能,它极大简化我们的mvvm代码

    2023年04月11日
    浏览(17)
  • CommunityToolkit.Mvvm 加速 MVVM 开发

    为保文字描述的准确性,文章中的文字描述信息多为引用官方。 依赖注入部分按照官方文档的步骤,但是替换成了我自己写的WPF的内容,因为官方给的是UWP这块不熟悉怕出错就替换了。 引用 Microsoft Document 中的介绍 包 CommunityToolkit.Mvvm (又名 MVVM 工具包,以前名为 Microsoft.To

    2024年02月03日
    浏览(13)
  • WPF CommunityToolkit.Mvvm

    CommunityToolkit.Mvvm(以下简称Toolkit)是WPF最有名的两个框架,一个是Prism,另一个就是Toolkit。 Prism可以看我的Prism详解 WPF Prims框架详解 Toolkit 官方文档 用 CommunityToolkit.Mvvm 加速 MVVM 开发流程 Toolkit简单复写了我们常用的两个方法 一个是 SetProperty,一个是RelayCommand SetProperty,通知

    2024年02月12日
    浏览(20)
  • CommunityToolkit.Mvvm----配置

    一、介绍: CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为 Microsoft.Toolkit.Mvvm)是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则生成: 独立于平台和运行时 - .NET Standard 2.0、.NET Standard 2.1 和 .NET 6🚀(与 UI 框架无关) 易于选取和使用 - 对

    2024年04月17日
    浏览(16)
  • CommunityToolkit.Mvvm系列文章导航

    包  CommunityToolkit.Mvvm  (又名 MVVM 工具包,以前名为  Microsoft.Toolkit.Mvvm ) 是一个现代、快速且模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则构建: 平台和运行时独立  -  .NET Standard 2.0 、  .NET Standard 2.1  和  .NET 6 🚀 (UI Framework 不可知) 易于选取和使用  -

    2023年04月15日
    浏览(16)
  • CommunityToolkit.Mvvm笔记1---Instruction

            CommunityToolkit.Mvvm是一个官方社区套件(Windows Community Toolkit),延续了MVVMLight的风格,是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分。 第一:入门安装 1,用NuGget安装,搜索CommunityToolkit找到安装即可。 2,Install-Package CommunityToolkit.Mvvm 命令安装

    2024年04月17日
    浏览(15)
  • CommunityToolkit.Mvvm学习笔记(6)——RelayCommand

    由于项目时间比较紧,所以先拣使用频繁的模块学习了。ComponentModel中的ObservableValidator等后面有空再学。这篇先看命令RelayCommand,毕竟WPF中命令与变量的绑定是两大主要绑定。如果说属性绑定是向UI暴露数据,那Command就是向UI暴露方法(或者说逻辑)。 MVVM Toolkit中的RelayComm

    2024年02月06日
    浏览(18)
  • CommunityToolkit.Mvvm学习笔记(4)——Messenger

    如果你对WPF有一定了解,你应该知道WPF中的命令是一个实现了ICommand接口的类。同样本文虽然标题是Messenger,但也要从IMessenger接口说起。至于Messenger的中文名,我觉得就叫它的直译“信使”好了,毕竟传递消息就是信使的能力嘛。 命名空间:Microsoft.Toolkit.Mvvm.Messaging 程序集:

    2024年02月05日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包