如何避免在XAML/Mvvm/C#中双击按钮

本文关键字:双击 按钮 Mvvm XAML 何避免 | 更新日期: 2023-09-27 18:00:57

我在Windows Phone项目中使用MVVM编写了Button。问题是,当我双击该按钮时,我会运行我的方法两次或更多次。如何避免这种情况?

这就是实现:

XAML视图

<Button Command="{Binding MyCommand}" />

ViewModel

private readonly Command myButtonClick;
public ICommand MyCommand{ get { return myButtonClick; } }
{
   myButtonClick= new Command(MyMethod);
}
private async void MyMethod()
{
   // do work
}

如何避免在XAML/Mvvm/C#中双击按钮

最好的方法是实现DelegateCommand,并检查按钮是否可以在CanExecute功能中执行。(见此问题(

另一种方法是在单击按钮后禁用按钮,并在操作完成时启用。