2015-07-03 2 views
1

У меня есть кнопка в Windows Phone, написанная в MVVM. Проблема в том, что когда я дважды нажимаю эту кнопку, я буду запускать свой метод дважды или более раз. Как этого избежать?Как избежать двойного щелчка по кнопке в XAML/Mvvm/C#

Это реализация:

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 
} 
+0

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

ответ

3

Лучший способ заключается в реализации DelegateCommand, и проверить, является ли кнопка может быть выполнена в CanExecute функции. (См. this question)

Другой способ отключить кнопку после нажатия кнопки и включения при завершении операции.

+0

Упрощенный для предложения команды делегата и CanExecute. Легко лучший подход. –

Смежные вопросы