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)
{
    带取消命令
}
相关推荐
zlinear数据采集卡3 分钟前
输出短路保护电路深度解析:从电源的“最后一道防线”到ZLinear采集卡的硬核守护实战
开发语言·嵌入式硬件·持续集成
剑锋所指,所向披靡!6 分钟前
C++多线程实现
开发语言·c++·chrome
biubiubiu070612 分钟前
SpringBoot3.5.4 AOP环绕通知使用
java·spring boot
十五年专注C++开发13 分钟前
Qt之QScopedPointer、QScopeGuard、QScopedValueRollback使用及源码解读
开发语言·c++·qt·qscopedpointer·qscopeguard
fox_lht16 分钟前
13.3.测试的组织方式
开发语言·后端·rust
西安邮电大学21 分钟前
Redis四大经典缓存问题
java·redis·后端·其他·面试
超梦dasgg30 分钟前
Redisson解锁失败,WatchDog会不会一直续期下去?
java·redis
·白小白35 分钟前
C++ STL 容器 list 底层结构详解
开发语言·c++·list
RSTJ_162538 分钟前
PYTHON+AI LLM DAY SIXTY-SIX
服务器·开发语言·python
Chase_______39 分钟前
【Java基础 | 11】异常处理进阶:throw、throws、自定义异常与异常链讲清楚
java·开发语言·python