0

他のuserControlでボタンを有効にする(CanExecute)方法のベストプラクティスはありますか?

簡単なシナリオは次のとおりです。UserControl_1 のデータグリッドで 1 つの行を選択する場合、UserControl_2 でボタンを有効にし、選択した行を UserControl_2 の viewModel に提供する必要があります。

次にユーザーが UserControl_2 のボタンを押すと、UserControl_1 から選択された行のデータで実行されます。

Catel初心者からのありがとう。

4

2 に答える 2

0

WPF を使用している場合 (使用していると仮定)、CanExecute は WPF システム (正確には CommandManager) によってトリガーされます。プロパティが変更されると、Catel はコマンドを自動的に再クエリする必要があります。

CanExecute のロジック (または少なくともデータ) を複数のユーザー コントロール間で共有する必要がある場合 (複数のユーザー コントロールのビュー モデルについて話している場合)、ServiceLocator に登録されるサービスを作成することをお勧めします。コマンドの CanExecute では、同じデータ (サービス) をクエリし、実装するロジックに従って true または false を返すことができます。

于 2014-01-24T10:11:31.623 に答える