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)
{
    带取消命令
}
相关推荐
夕除37 分钟前
shizhan--10
java·开发语言
Zhang~Ling40 分钟前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法
原来是猿41 分钟前
为什么 C++ 需要区分左值和右值?
开发语言·c++
吴声子夜歌44 分钟前
JVM——并发容器实现原理
java·jvm·并发容器
xier_ran1 小时前
【infra之路】PagedAttention
java·开发语言
糖果店的幽灵1 小时前
Spring AI 从入门到精通-结构化输出
java·人工智能·spring
SilentSamsara1 小时前
NumPy 进阶:广播机制、ufunc 与向量化计算的工程实践
开发语言·python·青少年编程·性能优化·numpy
zzz_23681 小时前
【Spring】面试突击系列(六):Spring 工程实践与面试综合
java·spring·面试
珊瑚里的鱼1 小时前
C++的强制类型转换
android·开发语言·c++
编程探索者小陈1 小时前
接口自动化三件套:JSON Schema 校验 + logging 日志 + Allure 测试报告
开发语言·python