MVVM 디자인/이해 문제를 도와주십시오.MVVM 디자인이 적용된 데이터 기반 Windows 전화 파노라마
에서 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>
우리는 다음과 같은 UI 구조의 윈도우 폰 응용 프로그램을 감안할 때
그 시점에서 나는 질문을 우연히 만났습니다 - 어떤 sh 모든 PanoramaItem이 다른 사용자 컨트롤로 구성되기를 원한다면 어떻게합니까? 파노라마 항목 템플릿을 정의하면 모든 항목이 동일하게 처리됩니다. 그러나 제 의도는 서버적이고 압도적으로 다른 파노라마 항목을 갖는 것입니다. 주어진 시간에 어떤 파노라마 항목을 표시 할지를 제어 할 수있는 수업 (아마도 PanoramaViewModel
)을 갖고 싶었습니다.
그래서 MVVM을 고수하면서도 새로운 뷰 (파노라마 항목)를 인스턴스화하고이를 PanoramaViewModel
컬렉션 인 PanoramaItems
컬렉션에 삽입 할 수있는 방법이 있어야합니다. 어디에서 어떻게 할 수 있습니까?
MVVM과 관련이 없습니다. –
Panorama 컨트롤의 Items 컬렉션에있는 뷰 모델 유형을 기반으로 다른 뷰를 표시해야하는 경우 MVVM과 관련이 있다고 가정했습니다. 그러나 내가 말했듯이, 그러한 요구 사항을 해결하는 방법을 알지 못하므로 정확할 수 있으며이 질문은 MVVM 범위에서 벗어납니다. –
감사합니다. 나는 그것에 대해 연구 중이다. –