MVVM-Lightに基づくアプリケーションを構築しています。同じビューの複数のインスタンスを作成する必要があり、それぞれが独自のViewModelにバインドする必要があります。
デフォルトViewModelLocator
では、ViewModelsがシングルトンとして実装されているため、同じViewの異なるインスタンスが同じViewModelにバインドされます。
VMLocatorでViewModelを非静的オブジェクトとして作成することもできますが(new VM()...を返すのと同じくらい簡単です)、それは部分的にしか役に立ちません。実際、開いているウィンドウを追跡する必要があります。それでも、各ウィンドウは他のいくつかのウィンドウを開く可能性があります(ただし、種類は異なります)。この状況では、親ビューとそのすべての子に対して何らかの操作を実行する必要がある場合があります。たとえば、ビューPを閉じる前に、そのすべての子(ビューC1、ビューC2など)を閉じたい場合があります。
したがって、これを達成するための簡単で簡単な方法はありますか?または、従うようにアドバイスするベストプラクティスはありますか?
貴重なご協力をよろしくお願いいたします。
乾杯、
ジャンルカ。