1

コマンドを実行できない場合、WPF はコマンドのソース (通常はボタン) を自動的に無効にするため、コマンドを使用すると便利です。

明らかに、この機能は、コマンド ソースではないコントロールでは使用できませんListBox

コマンド以外のソース管理でこの機能を有効にする最良の方法は何ですか? 私はいくつかの解決策を考えました:

  • ListBoxを aで囲み、ボタンの をクロムがないようにButton変更します。ControlTemplate
  • 非表示の を作成し、のプロパティをのプロパティにButtonバインドします。IsEnabledListBoxIsEnabledButton
  • ListBoxそのimplementsの子孫を作成しますICommandSource

もっとエレガントな方法はありますか?

4

1 に答える 1

4

コード ビハインド (またはビュー モデル) で bool プロパティを作成したりCanSelect、プロパティをCanEditバインドしたりできます。対応するコマンドのメソッドで、この新しいプロパティの値を設定するだけです。IsEnabledListBoxCanExecute

于 2009-09-15T17:32:45.230 に答える