私はメインのUCでいくつかのUCからイベントを処理しようとしていますレイアウトマネージャ)。すべての子供は、子供を閉じている親に知らせるためのイベントを持っています。そのように見えます:
ParentView
|
- ChildView
|
- ChildView
|
など
Josh Smithと同様に、私はcloseコマンドにworkspace viewmodelを使用しています.ParentViewとChildViewはWorkspaceViewModel(もちろんViewModelBaseから継承しています)から継承しています。今、問題は私が子供を閉じているときです。 RequestCloseイベントは、ChildViewではなくParentViewによって呼び出されます。しかし、イベントは子供に登録されています。 WorkspaceViewModelのRequestCloseが親によって呼び出されるのではなく、親によって呼び出されるのはどうでしょうか? は、私はこのケースでは、私はMVVMパターンを破るというのが私の問題の説明に追加して、ParentViewのコードビハインドで私ChildViewを追加する必要があります。別の親UserControlによるグリッド内の複数の子UserControlのイベント処理私のWPFアプリケーション(MVVMパターン)内の
parentViewGrid.Children.Add(childView)
この場合は悲しげに、それはMVVMパターンに従うことはほとんど不可能です。理由はこちらをご覧ください:Polyline and MVVM。私はその問題を本当に解決していない。言い換えれば、この場合のMVVMパターンに従うことは、パフォーマンスと複雑さに関して、メリットかデメリットかを疑う余地があります。
あなたが私を助け、私の問題を理解できることを願っています。前もって感謝します。
カイジョシュ・スミスのよう