public Window CreateWindow(WindowEnum winEnum) { object vm; switch (winEnum) { case WindowEnum.StartWindow: vm = viewModels.FirstOrDefault <object>(x => x.GetType() == typeof(StartWindow_ViewModel)); if (vm == null) { vm = new StartWindow_ViewModel(core); viewModels.Add(vm); } return(new StartWindow(vm as StartWindow_ViewModel)); case WindowEnum.ProjectView: vm = viewModels.FirstOrDefault <object>(x => x.GetType() == typeof(ProjectViewer_ViewModel)); if (vm == null) { vm = new ProjectViewer_ViewModel(core); viewModels.Add(vm); } return(new ProjectViewer(vm as ProjectViewer_ViewModel)); case WindowEnum.NewFile: vm = viewModels.FirstOrDefault <object>(x => x.GetType() == typeof(NewFile_ViewModel)); if (vm == null) { vm = new NewFile_ViewModel(core); viewModels.Add(vm); } return(new NewFile(vm as NewFile_ViewModel)); case WindowEnum.Editor: vm = viewModels.FirstOrDefault <object>(x => x.GetType() == typeof(Editor_ViewModel)); if (vm == null) { vm = new Editor_ViewModel(core); viewModels.Add(vm); } return(new Editor(vm as Editor_ViewModel)); default: return(null); } }
public ProjectViewer(ProjectViewer_ViewModel vm) { InitializeComponent(); this.DataContext = vm; }