在 RelayCommand MVVM 工具包中使用 CanExecute

Gue*_*ezt 2 xaml command toolkit mvvm winui

我已将按钮命令绑定到RelayCommandfrom之一MVVM Toolkit,该命令执行某些功能,如下所示:

[RelayCommand]
private async void SomeMethod() {}
Run Code Online (Sandbox Code Playgroud)

我想防止多次单击按钮,从而防止通过CanExecute参数调用多个方法RelayCommand,但我无法弄清楚这一点。

我知道RelayCommand首先检查CanExecute是否可以执行该命令,但我不明白如何实施它。

我搜索了有关该主题的许多问题,但无法找到解决方案。

编辑:也没有SomeMethod.isRunning财产。

小智 5

要实现CanExecute,您可以尝试以下示例:

[RelayCommand(CanExecute = nameof(IsSomeMethodExcutable))]
private async void SomeMethod(){}

private bool IsSomeMethodExcutable() { return _isBusy;}
Run Code Online (Sandbox Code Playgroud)