2009-07-07 7 views
2

カスタムRoutedCommandはいくつかのmenuItemで使用されています。 私はチェックボックスと同じRoutedCommandのを使用したい:WPFのCheckBoxにルーティングされたコマンドを追加できません

<CheckBox Command="local:MainWindow.SwitchContextCommand"> 

コンパイラがエラーを与えていないが、私はアプリを出せたとき、私はコマンド値が結果的にヌルとすることができないことを私に告げる例外を取得SwitchContextCommand checkBox.Commandにアタッチできません。

コマンドはメニューで正常に動作します。

最初の質問:これは可能ですか? CheckBoxクラスにはCommandとCommandParametersというプロパティが含まれているので、私は自分自身でこれに答えることができると思います。それは可能です。

2番目:どのように動作するのですか? MenuItemsでは、メニューが表示されるときにCanExecuteが呼び出されます。常に表示されるチェックボックスはどうなりますか?クリックで暗黙のうちに呼び出されますか?

第3の理由:なぜ機能しないのですか?

ありがとうございます!

答えて

1

SwitchContextCommandは、MainWindowクラスの静的メンバーです。

は、あなたのコマンド属性でこれを使用してみてください:

Command="{x:Static local:MainWindow.SwitchContextCommand}" 

私がチェックしたときに、あなたのコマンドは、火災に期待するだろうが、私はそれを試してみて、見るであろう。

関連する問題