WPF ToolkitMVVM RelayCommand

ObservableProperty 特性

字段是一般小写

csharp 复制代码
[ObservableProperty]
private string?userName;

//View  中  绑定  是  大写  UserName

RelayCommand 特性

要大写

csharp 复制代码
 [RelayCommand]
 private void GetName()
 {

 }
//View  中绑定  GetNameCommand         方法+Command

》》》CanExecute

csharp 复制代码
//  会首先执行 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 修饰

csharp 复制代码
[RelayCommand]
private async Task GreetUserAsync()
{
    。。。。
    await 。。。。
    。。。。。
}
csharp 复制代码
[RelayCommand]
private async Task GreetUserAsync(CancellationToken token)
{
    带取消命令
}
相关推荐
@insist1239 小时前
信息安全工程师-物理隔离技术基础核心考点解析
开发语言·网络·安全·软考·信息安全工程师·软件水平考试
空中海9 小时前
02 状态、Hooks、副作用与数据流
开发语言·javascript·ecmascript
Aurorar0rua9 小时前
CS50 x 2024 Notes C - 09
c语言·开发语言·学习方法
014-code9 小时前
布隆过滤器:判断“可能存在“和“一定不存在“
java·redis
兔小盈9 小时前
多线程篇-(二)线程创建、中断与终止
java·开发语言·多线程
jnrjian9 小时前
Library Cache Load Lock library cache pins are replaced by mutexes
java·后端·spring
hoiii1879 小时前
基于MATLAB实现内点法解决凸优化问题
开发语言·matlab
abcnull9 小时前
传统的JavaWeb项目Demo快速学习!
java·servlet·elementui·vue·javaweb
risc1234569 小时前
【lucene】PostingsEnum跟TermsEnum 的区别是啥?
java·lucene