MSDNは、次のように述べているだけです。
CommandManagerがコマンドの実行能力を変更する可能性のある条件を検出した場合に発生します。
しかし、これがどのように機能するか、何を知っておくべきか/避けるべきかなどの痕跡を見つけることができないようです...それは単に入力をリッスンするだけですか? (つまり、マウスの移動、キーの押下など)
その場合、.NETリファレンスソースはあなたの友達です。それはひどくコメントされていますが、あなたはまだ内部処理についていくつかのアイデアを得ることができます。
内部 CommandDevice クラスには、InvalidateRequerySuggestedを呼び出すPostProcessInputメソッドがあります。このメソッドの名前は、InvalidateRequerySuggestedメソッドがすべての入力イベントで呼び出されることを前提としています。 InvalidateRequerySuggestedを呼び出すたびに、CanExecuteメソッドが実際に呼び出されないように、さらに処理とフィルタリングが行われると確信しています。