
ObservableProperty 特性字段是一般小写[ObservableProperty]privatestring?userName;//View 中 绑定 是 大写 UserName// 后台只有修改了 UserName属性 前台View才会更新。RelayCommand 特性要大写[RelayCommand]privatevoidGetName(){}//View 中绑定 GetNameCommand 方法Command》》》CanExecute// 会首先执行 GetMethod方法// 若返回 False则View绑定的GetName的控件{如按钮 会 禁止使用}// 若返回True则View绑定的GetName的控件 可用。// 触发这个控件会再次执行 GetMethod方法若返回False则不执行反之继续执行对应的GetName 方法体// IRelayCommand.NotifyCanExecuteChanged 调用命令时再次调用该按钮。[RelayCommand(CanExecutenameof(GetMethod))]privatevoidGetName(){}privateboolGetMethod(){//return user is not null;returnfalse;}异步命令方法需要 async Task 修饰[RelayCommand]privateasyncTaskGreetUserAsync(){。。。。await。。。。 。。。。。}[RelayCommand]privateasyncTaskGreetUserAsync(CancellationTokentoken){带取消命令}