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)
{
    带取消命令
}
相关推荐
quikai198125 分钟前
python练习第三组
开发语言·python
JIngJaneIL40 分钟前
基于Java非遗传承文化管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
吃西瓜的年年1 小时前
1. 初识C语言
c语言·开发语言
南部余额1 小时前
踩坑与解惑:深入理解 SpringBoot 自动配置原理与配置排除机制
java·spring boot·自动配置原理·import
CHANG_THE_WORLD2 小时前
Python 字符串全面解析
开发语言·python
不会c嘎嘎2 小时前
深入理解 C++ 异常机制:从原理到工程实践
开发语言·c++
永远都不秃头的程序员(互关)2 小时前
C语言 基本语法
c语言·开发语言
木鹅.2 小时前
LangChain4j
java
永远都不秃头的程序员(互关)3 小时前
Java核心技术精要:高效实践指南
java·开发语言·性能优化
是Dream呀3 小时前
Python圣诞特辑:打造一棵会唱歌、会下雪的魔法圣诞树
开发语言·python·pygame