21WPF---MVVMToolkit框架

1.概要

21WPF---MVVMToolkit框架_第1张图片

 2.引用

3.实例

使用异步命令,监控执行状态

21WPF---MVVMToolkit框架_第2张图片

//启动异步执行命令
public  class ViewModel:ObservableObject
    {
        public ICommand BtnCommand { get; }

        public ViewModel()
        {
            BtnCommand = new AsyncRelayCommand(DoCommand);
        }

        private async Task DoCommand()
        {
            await Task.Delay(3000);

            //ValueTask valueTask = new ValueTask();
            return "LZW";
        }
    }


//异步执行结果
public class TaskResultConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is Task task)
            {
                return task.GetResultOrDefault();//GetResultOrDefault这个方法是需要安装Microsoft.Toolkit库
            }
            return null;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

4.MVVMToolKit消息处理机制

注册消息

21WPF---MVVMToolkit框架_第3张图片

 发送消息

21WPF---MVVMToolkit框架_第4张图片

 绑定消息

 使用IRecipient接收消息,好处不需要注册

21WPF---MVVMToolkit框架_第5张图片

注册和发送时都带Token,指定发送和接收

21WPF---MVVMToolkit框架_第6张图片

21WPF---MVVMToolkit框架_第7张图片

你可能感兴趣的:(C#,wpf)