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)
{
    带取消命令
}
相关推荐
Ulyanov6 分钟前
高保真单脉冲雷达导引头回波生成:Python建模与实践
开发语言·python·仿真·系统设计·单脉冲雷达
t***442312 分钟前
【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建
java
daidaidaiyu18 分钟前
SpringCloud 微服务实现一则 (Eureka + Hystrix)
java·spring
小哥不太逍遥36 分钟前
Technical Report 2024
java·服务器·前端
阿猿收手吧!44 分钟前
【C++】jthread:优雅终止线程新方案
开发语言·c++
lly2024061 小时前
《JavaScript 实例》
开发语言
edisao1 小时前
序幕-内部审计备忘录
java·jvm·算法
十五年专注C++开发1 小时前
C++中各平台表示Debug的宏
开发语言·c++·debug
shehuiyuelaiyuehao1 小时前
22Java对象的比较
java·python·算法
张小凡vip1 小时前
Python异步编程实战:基于async/await的高并发实现
开发语言·python