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

标签 c# xaml mvvm

我在用 MVVM 编写的 Windows Phone 项目中得到了 Button。问题是,当我双击该按钮时,我将运行我的方法两次或更多次。如何避免这种情况?

这就是实现:

XAML View

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

View 模型

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

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

最佳答案

最好的办法是实现DelegateCommand,在CanExecute函数中检查按钮是否可以执行。 (参见 this question)

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

关于c# - 如何避免在 XAML/Mvvm/C# 中双击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31200183/

相关文章:

wpf - 如何清除 MVVM 中的文本框?

c# - 使模型从 Microsoft.Practices.Prism.ViewModel 命名空间中的 NotificationObject 继承是否合理?

c# - 如何在 F# 中实现具有方法返回任务(非泛型)的接口(interface)

c# - 在 C# 中是否有与 Groovy 等效的东西?

c# - 不同服务器上的相同数据库

c# - WPF 样式不适用于运行时(但适用于设计器)

WPF:属性绑定(bind)不会在运行时更新

c# - 如果要处理 SqlDataReader,是否需要调用 close()?

.net - 在 XAML 中有没有办法将 UpdateSourceTrigger 默认为 PropertyChanged?

c# - WPF 样式,创建要在 XAML 中跨应用程序使用的样式页面