1.概要
2.引用
3.实例
使用异步命令,监控执行状态
//启动异步执行命令
public class ViewModel:ObservableObject
{
public ICommand BtnCommand { get; }
public ViewModel()
{
BtnCommand = new AsyncRelayCommand(DoCommand);
}
private async Task<string> DoCommand()
{
await Task.Delay(3000);
//ValueTask<string> valueTask = new ValueTask<string>();
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消息处理机制
注册消息
发送消息
绑定消息
使用IRecipient接收消息,好处不需要注册
注册和发送时都带Token,指定发送和接收