WPF ToolkitMVVM RelayCommand
ObservableProperty 特性
字段是一般小写
[ObservableProperty]
private string?userName;
//View 中 绑定 是 大写 UserName
RelayCommand 特性
要大写
[RelayCommand]
private void GetName()
{
}
//View 中绑定 GetNameCommand 方法+Command
》》》CanExecute
// 会首先执行 GetMethod方法,
// 若返回 False,则View绑定的GetName的控件{如按钮 会 禁止使用}
// 若返回True,则View绑定的GetName的控件 可用。
// 触发这个控件,会再次执行 GetMethod方法,若返回False,则不执行,反之继续执行对应的GetName 方法体
// IRelayCommand.NotifyCanExecuteChanged 调用命令时再次调用该按钮。
[RelayCommand(CanExecute =nameof(GetMethod))]
private void GetName()
{
}
private bool GetMethod()
{
//return user is not null;
return false;
}
异步命令
方法需要 async Task 修饰
[RelayCommand]
private async Task GreetUserAsync()
{
。。。。
await 。。。。
。。。。。
}
[RelayCommand]
private async Task GreetUserAsync(CancellationToken token)
{
带取消命令
}