2011-11-29 4 views
1

전체 화면에서 일종의 키오스크로 MVVM을 사용하여 첫 WPF 애플리케이션을 개발 중입니다. 비동기 이벤트에 대한 응답으로 컨텍스트 (비디오보기, 텍스트보기, 파워 포인트보기)를 변경해야합니다.WPF에서 컨텍스트를 변경하는 방법

<Window.Resources> 
    <DataTemplate DataType="{x:Type vm:VideoViewModel}"> 
     <v:VideoView /> 
    </DataTemplate> 
    <DataTemplate DataType="{x:Type vm:PowerpointViewModel}"> 
     <v:PowerpointView /> 
    </DataTemplate> 
</Window.Resources> 

어떤 도움을 이해할 수있을 것이다, 덕분에 : 나는 MVVM에서 다음과 같은 데이터 컨텍스트를 정의하지만 아직 그들 사이를 전환 할 수 없었던 때문에

나는 힘든 시간을 보내고 있습니다.

답변

0

보통 ShellViewModel이 있는데, 현재 페이지의 ViewModel을 포함하는 CurrentPage 속성을 포함하고 있습니다. XAML에서 ContentControl.ContentCurrentPage에 바인딩 한 다음보기를 전환하려면 CurrentPage 속성을 현재 ViewModel이 무엇이든간에 전환하면됩니다.

<ContentControl Content="{Binding CurrentPage}" /> 

변경 페이지 명령 : 예를 들어

void ChangePage(ViewModelBase page) 
{ 
    CurrentPage = page; 
} 

, 내 this post

참조
관련 문제