我对命令模式感到困惑。关于命令的解释很多。我之前认为下面的代码是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; }
}
}