Maui之CommunityToolkit社区工具的魔法

Communitytoolkit社区工具给我们开发带来了极大的方便,堪称魔法,非常好用,可以极大的提升企业和个人的开发效率,标注方法[ObservableProperty]、[RelayCommand]和一个方法SetProperty,下面举个例子演示一下。

写一个枚举 Microsoft.Maui.Graphics空间下类Colors的命名颜色,共148个公共静态字段,建一个maui程序名为NamedColorsDemoApp,先在文件夹/Models下建一个模型,NamedColor.cs,文件内容:

namespace NamedColorsDemoApp.Models
{
    internal class NamedColor
    {
        public string Name { get; set; }

        public Color Color { get; set; }
    }
}

在程序内Nuget二个包

然后在文件夹/ViewModels 下创建NamedColorsViewModel.cs文件,文件头内容:

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using NamedColorsDemoApp.Models;
using System.Collections.ObjectModel;
using System.Reflection;

这个类要派生自ObservableObject,且要设成分部类。

 partial class NamedColorsViewModel : ObservableObject
{
}

创建一个私有的字段 private NamedColor namedColor,再创建一个列表字段allColors,这个带标注方法[ObservableProperty]

    private NamedColor namedColor;

    [ObservableProperty]
    private static ObservableCollection<NamedColorsViewModel> allColors; 

再创建二个可绑定的属性,使用SetProperty,这个太方便了。

        public string Name
        {
            get => namedColor.Name;
            set => SetProperty(namedColor.Name, value, namedColor, (n, v) => n.Name = v);
        }

        public Color Color
        {
            get => namedColor.Color;
            set => SetProperty(namedColor.Color, value, namedColor, (n, v) => n.Color = v);
        }

SetProperty第一个参数是要更新的值,第二个参数是新值,第三个参数是模型,传一个实例,第四个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值