我在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
功能中执行。(见此问题(
另一种方法是在单击按钮后禁用按钮,并在操作完成时启用。