XAML 在RelayCommand MVVM工具包中使用CanExecute

h22fl7wq  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(136)

我已经将按钮命令从MVVM Toolkit绑定到一个RelayCommand,它执行一些函数,如下所示:
[RelayCommand]
private async void SomeMethod() {}
我想通过RelayCommandCanExecute参数来防止多次单击按钮,从而防止多次调用方法,但我无法解决这个问题。
我知道RelayCommand首先检查CanExecute是否可以执行命令,但我不知道如何实现它。
我已经搜索了许多关于这个主题的问题,但没有得到接近解决的地方。
编辑:也没有SomeMethod.isRunning属性。

mepcadol

mepcadol1#

只需将void更改为Task

[ObservableObject]
public partial class MainWindowViewModel
{
    [RelayCommand]
    private async Task SomeMethod()
    {
        await Task.Delay(5000);
    }
}

相关问题