UIにボタンがあるとしましょう。そして、そのボタンでコマンドを起動する必要があります。たとえば、そのコマンドでデータベース内の行を更新する必要があるとします。しかし、その明示的な行がまだ別のプロセスで使用されている場合はどうなりますか。このようにして、CanExecuteメソッドはコマンドを実行できるかどうかを確認し、実行できない場合はボタンを無効にし、コマンドを実行できるようになるまでクリックできません。コマンドを起動すると、ICommandオブジェクトのExecuteメソッドが処理されます。