2011-02-03 157 views
1

私はPrismを使用しています。 親ビューにtabcontrolがあります。タブコントロールには2つのタブがあります。各タブには異なるビューがあります。各タブには、タブコントロールが別のタブに切り替わるようにするボタン(ある種の内部ロジックによって異なる)があります。このようなアーキテクチャを設定するベストプラクティスは何ですか?WPF MVVMの子ViewModelから親ViewModelのロジックを呼び出す方法

私はそれが賢くないと誤解しやすいため、私はEventAggregatorを使用していません。 これを行う別の方法はありますか?私はRoutedCommandやイベントを使うべきですか?

また、タブ間で情報を共有するつもりですが、それらを疎結合し、別個のViewModelsを持たせたいと思います。いかなる考え、提案、または批判?

ありがとうございます! ブレット

答えて

1

私の最初の好みは、一般的に、子ビューモデルがイベントを発生させる持っていることであり、親がそのハンドラを設定することは、子を作成するとき。

しかし、この種の方法を実行するには数多くの方法があります。たとえば、すべてのタブスイッチングロジックが親に存在する場合、親にコマンドを作成して、AncestorTypeバインディングを使用してボタンをバインドすることができます。次に、子ビューモデルに全く触れる必要はありません。

4

私はブログポストを書きましたが、子どもと親のViewModel通信のオプションの概要を説明しました。あなたにいくつかのアイデアがあります。

Nested ViewModels

関連する問題