多数のグラフ/チャートの「サムネイル」を表示する必要があります。いずれかをクリックすると、チャートの拡大版と、チャートを表示および操作するためのコントロールを表示する「拡張ビュー」が (別のパネルに) 表示されます。
多数の異なるグラフがあり、それぞれが異なる方法でデータをプロットします。また、特定のグラフ タイプが複数回表示され、それぞれがデータの異なるサブセットをプロットする場合があります。「展開」ビューのコントロールもグラフの種類ごとに異なるため、共通点はほとんどありません。
特に、未知の数のサムネイルを動的に作成する必要がある場合 (場合によっては、同じタイプの複数のインスタンス)、MVVM でこれらすべてをモデル化する方法を理解するのに苦労しています。
考えてみると、単一のサムネイルを表すビュー/ビューモデルが必要だと思います (ビューにはチャート コンポーネントが含まれ、VM はプロットするデータを公開します)。サムネイルを作成し、リストにバインドするコレクションを介してそれらを公開する「サムネイル リスト」UI 用の V/VM も必要だと思います。しかし、これらをどのようにインスタンス化するのでしょうか? VM はそのビューに挿入されます。これは、「サムネイル リスト」VM がサムネイル ビューを動的にインスタンス化する必要があることを示唆していますが、VM はビューの知識を持つべきではありません。
最後に、「展開された」ビューを表示するとき、チャートを再度レンダリングする必要がないように、サムネイルで使用されたチャート作成コンポーネント/ビューを (どういうわけか) 渡すのが理にかなっていますが、どうすればよいでしょうか?
関連/役立つ場合は、Castle Windsor を依存性注入と Prism のナビゲーション機能に使用しています。