1

対応するビューモデルを持つ親ビューがあります。その親ビューには、独自のビューモデルを持つ子コントロールが含まれています。

以前は、この親子タイプの関係で、通常、親ビューモデルに子ビューモデルへの参照を含め、子はイベントを介して親と通信していました。

他の関連のないビューモデルと通信するときは、メッセージングを使用しました。

私が現在取り組んでいるプロジェクトでは、私たちは初期段階にあり、mvvm-light を使用しており、誰かがメッセージング サービスを使用して同様の親子関係を作成しています。ただし、シングルトン ビュー モデルがないため、顧客 A の親と子のビューとビューモデルがあり、顧客 B の他のインスタンスが再び存在する可能性があります。子ビューがメッセージをサブスクライブする場合、そのメッセージはブロードキャストされます。親Aから、まだ子AとBの両方がそれを受け取りますが、子Aだけに応答してもらいたい.

この種のシナリオのベスト プラクティスは何ですか? メッセージング アプローチとビューモデル参照およびイベント アプローチを比較するタイミングを取得しようとしていましたが、一方のアプローチは主にバインディングを介して行われるため、ストップウォッチ コードを配置する場所を見つけるのが難しいことがわかりました。2つのアプローチの間に大きなパフォーマンスの違いがあるかどうかは誰にも分かりますか?

私の現在の考えでは、子ビューモデルへの参照を含む親ビューモデルでそれを行い、イベントとバインディングを通信に利用する必要があります。または、これを行うより良い方法はありますか?

4

1 に答える 1

1

私は同じ問題を抱えており、イベントを使用して新しいビューとビューモデルで解決しています。

メッセージを使用して、それを受け取る必要があるビューまたはビューモデルを識別することもできます (一種の ID またはそのようなもの 8-))。

于 2012-08-30T23:31:42.817 に答える