public MainView() { InitializeComponent(); intersectionPointControl = new IntersectionPointControl(); meshPointsControl = new MeshPointsControl(); this.MainContentControl.Content = meshPointsControl; #region Connecting the main ViewModel with View mainViewModel = new MainViewModel(); DataContext = mainViewModel; #endregion #region Connecting the ViewModel with View UserControl // To MeshPoints meshPointsViewModel = new MeshPointsViewModel(); meshPointsViewModel.MeshPointsControl = meshPointsControl; mainViewModel.MeshPointsControl = meshPointsControl; mainViewModel.MeshPointsViewModel = meshPointsViewModel; mainViewModel.CurrentView = meshPointsControl; mainViewModel.CurrentViewModel = meshPointsViewModel; // To IntersectionPoint intersectionPointViewModel = new IntersectionPointViewModel(); intersectionPointViewModel.IntersectionPointControl = intersectionPointControl; mainViewModel.IntersectionPointControl = intersectionPointControl; mainViewModel.IntersectionPointViewModel = intersectionPointViewModel; #endregion }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { // Getting parent View Window parentWindow = Window.GetWindow(this); this.mainView = parentWindow as MainView; this.mainViewModel = mainView.DataContext as MainViewModel; this.meshPointsViewModel = this.mainViewModel.MeshPointsViewModel; this.DataContext = this.meshPointsViewModel; }