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)
{
    带取消命令
}
相关推荐
信徒_16 小时前
API 网关技术选型
java
simple-L616 小时前
Java开发痛点技术文章大纲
java·开发语言
m0_6356474816 小时前
Qt打包含有第三方库的软件为应用程序——CQtDeployer
开发语言·数据库·qt
simple-L617 小时前
Vue3 前端开发技术文章大纲
开发语言
南宫萧幕17 小时前
Python与Simulink联合仿真:基于DQN的HEV能量管理策略建模与全链路排雷实战
开发语言·人工智能·python·算法·机器学习·matlab·控制
千寻girling17 小时前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
小手cool17 小时前
Java字符串按空行分割,包括末尾的空行
java
曾凡玉@17 小时前
Python 并发编程系统笔记
开发语言·笔记·python
代码中介商17 小时前
C语言核心知识完全回顾:从数据类型到动态内存管理
c语言·开发语言
故事还在继续吗17 小时前
C++多线程与多进程编程
开发语言·c++