コマンドパターンについて混乱しています。コマンドについては非常に多くの異なる説明があります。以下のコードは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; }
}
}