0

タイトルが示すように...どうすれば別のビューモデルを見つけることができますか....

私の最初の推測は、それが使用されているユーザーコントロールを検索してそれを通過することです.

4

3 に答える 3

1

おそらく、VM 間の通信を可能にする一般的なメッセージング メカニズムを使用する必要があります。たとえば、MVVM Light を参照してください。

于 2013-07-25T10:43:09.893 に答える
1

Messengerクラスを利用できます。

あるViewmodelに存在するメソッドを他のViewModelで実行したい場合.. ViewModel (アクセス元) から ViewModel (実行したいイベントを保持している) にメッセージを送信するだけで、それを実行できます。イベント。

イベントを宣言したクラスのコンストラクタにメッセージを登録します。そのイベントを使用したい時点で、(アクセスしたい)ビューモデルからメッセージを送信します。

于 2013-07-25T11:06:18.917 に答える
0

2 つのビュー モデルはどのように関連していますか? 一方は他方の親ですか?この最良のシナリオでは、イベントまたはデリゲートを一方がサブスクライブする一方に公開するだけです。

同様に、共通の親を持つ場合、これは親ビュー モデルで行うことができます。

関係がない場合は、すべての共通機能をベース ビュー モデル クラスに入れてみませんか。イベントまたはデリゲートがベース ビュー モデルで公開されている場合、それを拡張するすべてのビュー モデルは内部的にサブスクライブできます。

于 2013-07-25T10:55:11.620 に答える