public EditorWindow() { InitializeComponent(); var conflictsViewerViewModel = new ConflictsViewerViewModel(); var tableControllerViewModel = new TableControllerViewModel(); var viewModel = new EditorWindowViewModel(tableControllerViewModel, conflictsViewerViewModel); DataContext = viewModel; viewModel.PropertyChanged += (s, e) => { if (s is EditorWindowViewModel) { if (e.PropertyName == "Project") { tableControllerViewModel.Project = viewModel.Project; conflictsViewerViewModel.Project = viewModel.Project; } else if (e.PropertyName == "HasActiveProject") { OnHasActiveProjectChanged(viewModel.HasActiveProject); } } }; TablesController.DataContext = tableControllerViewModel; ConflictsViewer.DataContext = conflictsViewerViewModel; }
public EditorWindowViewModel(TableControllerViewModel tableControllerViewModel, ConflictsViewerViewModel conflictsViewerViewModel) { _tableController = tableControllerViewModel; _conflictsViewer = conflictsViewerViewModel; PropertyChanged += OnPropertyChanged; }