在Icommand的先前实现中,我有以下内容:
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
最近我不得不将原来的实现更改为此:
public void OnCanExecuteChanged()
{
CanExecuteChanged?.Invoke(this, EventArgs.Empty);
}
因为我需要异步调用Execute,所以我调用OnCanExecuteChanged()来强制对canExecute进行重新评估。 第一个实现不适用于ExecuteAsync。
在同一个实现中是否存在一种可以动态地重新评估并强制重新评估的解决方案?