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



我在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
}

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

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

最新更新