-1

コマンドをリボン コントロールのボタンにバインドしました。ボタンの CanExecute メソッドは期待どおりに呼び出されますが、ボタンをクリックしても Execute メソッドは呼び出されません。はプロパティを- 問題のボタンが有効でクリック可能に設定しますCanExecuteCanExecutetrue

他の誰かが以前にこの動作を見たことがありますか? もしそうなら、どうすればそれを修正できますか!

編集:

CommandBinding commandBinding = new CommandBinding(StaticCommands.ThisCommand, ThisCommandExecutedHandler, ThisCommandCanExecuteHandler);
CommandManager.RegisterClassCommandBinding(this.GetType(), commandBinding);
CommandBindingList.Add(commandBinding);

StaticCommands.ThisCommandRoutedCommandの入力ジェスチャを持つ ですF5

残念ながら、すべてが別のチームのライブラリにまとめられているため、xaml を投稿できません。今のところそれが正しいと思います。また、コマンドに関連付けられたキーボード ジェスチャ ( を押すF5) を使用すると、execute メソッドが呼び出されます。

例外はスローされず、出力ウィンドウにメッセージも表示されず、snoop はすべてが正しくバインドされていることを示します。私は本当に困惑しています。

4

2 に答える 2

2

これは通常、パラメーターの型が正しく一致しない場合に発生します... ある型をバインドCommandParameterし、Command.Execute() 呼び出しで別の型パラメーターを受け入れていますか?

于 2011-10-10T16:57:32.527 に答える
0

を でラップすることでこれを修正しRoutedCommandsましたRelayCommand。なぜそれが機能したのかはわかりませんが、他のチームのアセンブリに問題があると仮定します.

于 2011-10-14T14:32:14.873 に答える