예제 #1
0
        /// <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);
        }
예제 #2
0
 public void Setup()
 {
     _karveViewModelBase = new KarveViewModelBase(_mockDataServices);
 }