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)
{
    带取消命令
}
相关推荐
JienDa几秒前
PHP 静态分析工具实战:PHPStan 和 Psalm 完全指南
开发语言·php
jiayong23几秒前
AI应用领域编程语言选择指南:Java vs Python vs Go
java·人工智能·python
XXYBMOOO1 分钟前
Qt 调用 DLL 实现固件升级进度弹窗(完整实战案例)
开发语言·qt·性能优化·简单工厂模式
胖咕噜的稞达鸭4 分钟前
【C语言进阶】死磕指针:从内存原理到指针数组的深度解析
c语言·开发语言·网络
lly2024064 分钟前
Pandas 相关性分析
开发语言
bjzhang755 分钟前
IDEA 2025.3重磅发布,Ultimate 终极版和 Community社区版二合一,免费版可商用
java·idea
CHINAHEAO6 分钟前
Bagisto修复php弃用警告,看着难受
开发语言·php
程序猿零零漆7 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(三)Bean的依赖注入配置、Spring的其它配置标签
java·学习·spring
博大世界7 分钟前
Python打包成exe文件方法
开发语言·python
yongui478349 分钟前
双线性四边形等参单元程序(MATLAB实现)
开发语言·matlab