什么是最好的做法,使一个框架只在DelegateCommand
一次可执行,以防止点击垃圾邮件可能导致应用程序崩溃的按钮。非常感谢!Prism
MVVM
问问题
49 次
1 回答
0
这是我通常做的事情:
- 您应该拥有要删除的内容的属性。使用 CanExecute
- 在您的委托命令中,如果该属性为空,请查看该属性?利用
- 在您的 DelegateCommand 中观察属性并将其设置为您的身份
- 删除。在您的 DeleteCommandExecute 中,删除后将属性设置为 null。
这是一个例子
private Class object;
public Class Object
{
get { return object; }
set { SetProperty(ref object, value); }
}
private DelegateCommand _delete;
public DelegateCommand Delete =>
_delete ?? (_delete = new DelegateCommand(ExecuteDelete, CanExecuteDelete)).ObservesProperty(()=> Object);
void ExecuteDelete()
{
MyServices.Delete(Object);
Object = null;
}
bool CanExecuteDelete()
{
return Object != null;
}
于 2018-06-23T23:26:55.430 回答