我对命令模式感到困惑。关于命令有很多不同的解释。我以为下面的代码是delegatecommand,但是在阅读了relaycommand之后,我很怀疑。
relaycommand、delegatecommand 和 routedcommand 有什么区别。是否可以在与我发布的代码相关的示例中显示?
class FindProductCommand : ICommand
{
ProductViewModel _avm;
public FindProductCommand(ProductViewModel avm)
{
_avm = avm;
}
public bool CanExecute(object parameter)
{
return _avm.CanFindProduct();
}
public void Execute(object parameter)
{
_avm.FindProduct();
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
}