/// <summary> /// Create a new composite view headered window. /// </summary> /// <param name="name">The title of the window</param> /// <param name="viewModel">The view model to be used in the view as DataContext</param> /// <returns>A new headered window</returns> public HeaderedWindow CreateNewItem(string name, KarveViewModelBase viewModel) { // The composite. var detailsRegion = _regionManager.Regions[RegionNames.TabRegion]; var headeredWindow = _container.Resolve <HeaderedWindow>(); headeredWindow.Header = name; var infoView = _container.Resolve <Header>(); var lineview = _container.Resolve <LineGridView>(); var footerView = _container.Resolve <Footer>(); /* * Resolve the view model. Kind of view model first approach. We can use a LineGridView * for every kind of subject and for the specific. * This allows the reuse better than view. */ infoView.DataContext = viewModel; lineview.DataContext = viewModel; footerView.DataContext = viewModel; headeredWindow.DataContext = viewModel; DetailsRegionManager = detailsRegion.Add(headeredWindow, null, true); var headerRegion = DetailsRegionManager.Regions[RegionNames.HeaderRegion]; var lineRegion = DetailsRegionManager.Regions[RegionNames.LineRegion]; var footerRegion = DetailsRegionManager.Regions[RegionNames.FooterRegion]; lineRegion.Add(lineview, null, true); headerRegion.Add(infoView, null, true); footerRegion.Add(footerView, null, true); return(headeredWindow); }
public void Setup() { _karveViewModelBase = new KarveViewModelBase(_mockDataServices); }