2015-07-03 145 views
1

我在MVVM中编写的Windows Phone项目中有Button。问题是,当我双击那个按钮时,我会运行我的方法两次或更多次。如何避免这种情况?如何避免双击XAML/Mvvm/C中的按钮#

这是执行:

XAML浏览

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

视图模型

private readonly Command myButtonClick; 
public ICommand MyCommand{ get { return myButtonClick; } } 

{ 
    myButtonClick= new Command(MyMethod); 
} 
private async void MyMethod() 
{ 
    // do work 
} 
+0

http://stackoverflow.com/questions/841332/prevent-double-click-from-double-firing-a-command – Mat

回答

3

最好的办法是实行DelegateCommand,并检查是否该按钮可在CanExecute功能被执行。 (请参阅this question

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

+0

Upvoted用于建议委托命令和CanExecute。轻松采用最佳方法。 –