MVVM の設計/理解の問題について支援してください。
次の UI 構造を持つ Windows Phone アプリがあるとします。
MainPage.xaml本体:
<views:PanoramaView/>
DataContext is set via MVVM Light view-model locator to a static MainViewModel class instance.
ビュー/PanoramaView.xaml本体:
<UserControl.DataContext>
<ViewModels:PanoramaViewModel/>
</UserControl.DataContext>
<StackPanel x:Name="LayoutRoot">
<controls:Panorama Background="{Binding PanoramaBackgroundBrush}"
ItemsSource="{Binding PanoramaItems}"
ItemTemplate="{StaticResource panoramaItemTemplate}"
/>
</StackPanel>
その時点で、私は質問に出くわしました -すべての PanoramaItems を異なるユーザー コントロールで構成したい場合はどうすればよいですか? パノラマ アイテム テンプレートを定義すると、すべてが同じになる運命にあります。しかし、私の意図は、いくつかの完全に異なるパノラマ アイテムを用意することです。PanoramaViewModel
特定の時点でどのパノラマ項目を表示するかを制御できるクラス (おそらく) が必要でした。
PanoramaItems
したがって、私がまだMVVMに固執する方法が必要ですが、新しいビュー(パノラマアイテム)をインスタンス化し、それらを私のコレクションに注入できるようにする必要がありますPanoramaViewModel
。どこで、どのようにすればよいですか?