Galasoft Mvvmtoolkit을 사용하여 wpf에서 mvvm을 구현했습니다. 이제 각 뷰에 대해 3 개의 뷰와 1 개의 ViewModel을 만들었습니다. 아래는 샘플 코드입니다.자식 viewmodel에서 부모 viewmodel보기 변경
//For Main.xaml
public MainViewModel:ViewModelBase
{
ViewModelBase CurrentView{get;set;}
public MainViewModel(){
CurrentViewModel = new InfoViewModel();
}
}
//For Info.xaml
public InfoViewModel{
//Open DetailViewMode by setting
//CurrentViewModel property to an instance of DetailViewModel
ICommand ShowDetailCommand;
public InfoViewModel(){
ShowDetailCommand = new RelayCommand(()=>{
//CurrentViewModel= new DetailViewModel();
})
}
}
//For Detail.xaml
public DetailViewModel{
}
나는 CurrentViewModel에 바인더 제본 그 안에 ContentControl을있다 Main.xaml에서 Detail.xaml의 UserControl을 보여주고 싶은. 로드시 Info.xaml을로드하고 사용자가 Info.xaml에있는 버튼을 클릭 할 때 Detail.xaml을 표시하려고합니다.
유사한 시나리오에서 [this] (http://stackoverflow.com/a/19654812/2819451) 대답은 개념을 이해하는 데 많은 도움이되었습니다. – Gopichandar