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)
{
    带取消命令
}
相关推荐
不要em0啦1 小时前
从0开始学python:简单的练习题4
开发语言·python
我想吃余1 小时前
【C++篇】C++11:线程库
开发语言·c++
小李云雾1 小时前
Python 多任务编程入门:进程的创建、同步与进程池使用
开发语言·数据库·python·oracle
05大叔1 小时前
MybatisPlus
java·服务器·前端
henreash1 小时前
C#调用F#的MailboxProcessor
开发语言·c#
CSDN_RTKLIB1 小时前
【静态初始化与动态初始化】术语对比
开发语言·c++
天上飞的粉红小猪2 小时前
线程同步与互斥
linux·开发语言·c++
未来之窗软件服务2 小时前
幽冥大陆(八十九 ) 自动化在线打包任意平台软件 —东方仙盟练气期
开发语言·c#·自动化·仙盟创梦ide·东方仙盟·在线打包
Rysxt_2 小时前
鸿蒙开发语言ArkTS:全面解析优缺点与未来前景
开发语言·华为·harmonyos
java1234_小锋2 小时前
RocketMQ的Producer是如何发送消息的?
java·rocketmq·java-rocketmq