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)
{
    带取消命令
}
相关推荐
燕-孑几秒前
tomcat详解(基础到高级生产)
java·tomcat
zmzb01035 分钟前
Python课后习题训练记录Day130
开发语言·python
码不停蹄的玄黓8 分钟前
Spring Bean 生命周期
java·后端·spring
阿里嘎多学长19 分钟前
2026-06-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
西安邮电大学21 分钟前
分治算法详细讲解
java·后端·其他·算法·面试
xiaoshuaishuai829 分钟前
C# 委托与事件
开发语言·c#
摇滚侠30 分钟前
Mybatis 入门到项目实战 搭建 MyBatis 框架 01-14
java·tomcat·mybatis
kmblack130 分钟前
javascript计算年龄
开发语言·javascript·ecmascript
肖爱Kun1 小时前
STL标准模块库操作
开发语言·音视频
码不停蹄的玄黓1 小时前
SpringBoot 全局异常处理器实现
java·spring boot·后端