WPF引用CommunityToolkit.Mvvm实现属性变动双向绑定的简单例子

WPF引用CommunityToolkit.Mvvm实现属性变动双向绑定的简单例子

WPF


站长平时也做windows桌面软件的开发,主要是基于wpf进行开发也习惯了自己那套mvvm写法 之前也写过相关例子 链接如下

传送门 : WPF MVVM双向通信 数据模型绑定 简单实例

虽然内容不多也是站长琢磨了好久才理顺的开发套路,基于这套写法站长已经开发中使用了几年 稳定性啥的都没啥好说的,自认为逻辑和写法上已经很简洁了 没想到还有更好用的,。

微软很早就已经有了相关的类CommunityToolkit.Mvvm(老的版本叫MvvmLight停止维护了)实现,在wpf开发过程中提供更加舒适的敲代码过程,看了下调用方式,逻辑和站长自己写类似,但毕竟是微软自己家的实现的更加完美。

这里用之前写的例子改成用CommunityToolkit.Mvvm库来实现

  1. Nuget引用适合CommunityToolkit.Mvvm版本包
  2. 创建一个视图模型(viewModel) 继承自 CommunityToolkit.Mvvm.ComponentModel.ObservableObject
  3. 视图模型里添加Name属性
private string _name;
public string Name => { get => _name; set => SetProperty(ref _name, value); }

然后就和之前使用的绑定方法一样了 前端绑定方式不需要动,实现逻辑上其实差不多,只是无需再自己去实现属性变动通知事件。