2015-07-03 88 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。輕鬆採用最佳方法。 –