C# 是否可以同时强制重估和动态重估ICommand的canExecute?

C# 是否可以同时强制重估和动态重估ICommand的canExecute?,c#,.net,mvvm,icommand,C#,.net,Mvvm,Icommand,在我以前的Icommand实现中,我有以下几点: public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } } 最近,我不得不将我的旧实现更改为: public void OnCanExecuteChanged() { CanExec

在我以前的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


是否有一种解决方案可以在同一个实现中动态重新评估和强制重新评估?

我看不出订阅和上升事件是如何相互冲突的。有什么问题?什么不起作用?请参阅。