public static void RegisterSimpleTab <TView, TModel>(this IRegionManager regionManager, string tabControlRegion, string contentRegionName, HelpTopic helpTopic, IWhitelistedServiceLocator whitelistedServiceLocator) where TView : class where TModel : class, ITabViewModel, IWhitelisted { regionManager.RegisterViewWithRegion(contentRegionName, typeof(TView)); regionManager.RegisterViewWithRegion(tabControlRegion, () => { var tab = new TabItem { Name = typeof(TView).Name }; var viewModel = whitelistedServiceLocator.GetInstance <TModel>(); HelpProvider.SetHelpTopic(tab, helpTopic); var content = new ContentControl(); content.SetValue(RegionManager.RegionNameProperty, contentRegionName); content.IsTabStop = false; content.SetResourceReference(FrameworkElement.StyleProperty, "TabUserControl"); var contentContainer = new Grid(); contentContainer.Background = new SolidColorBrush(Colors.White); contentContainer.Children.Add(content); AddGpoBehavior(tab, contentContainer, viewModel); var header = new IconTabHeader(); tab.Header = header; header.DataContext = viewModel; tab.Content = contentContainer; return(tab); }); }
public static void RegisterMultiContentTab <T>(this IRegionManager regionManager, string tabControlRegion, string contentRegionName, HelpTopic helpTopic, IWhitelistedServiceLocator whitelistedServiceLocator) where T : class, ITabViewModel, IWhitelisted { regionManager.RegisterViewWithRegion(tabControlRegion, () => { var tab = new TabItem(); HelpProvider.SetHelpTopic(tab, helpTopic); var viewModel = whitelistedServiceLocator.GetInstance <T>(); var content = new Grid(); content.Background = Brushes.White; var contentRegion = new ItemsControl(); contentRegion.SetResourceReference(FrameworkElement.StyleProperty, "TabUserControl"); contentRegion.SetValue(RegionManager.RegionNameProperty, contentRegionName); contentRegion.IsTabStop = false; contentRegion.Background = new SolidColorBrush(Colors.White); content.Children.Add(contentRegion); var header = new IconTabHeader(); tab.Header = header; header.DataContext = viewModel; AddGpoBehavior(tab, content, viewModel); tab.Content = content; TransposerHelper.Register(header, viewModel); return(tab); }); }
public static void RegisterMultiContentTab <T>(this IRegionManager regionManager, string tabControlRegion, string contentRegionName, HelpTopic helpTopic, IWhitelistedServiceLocator whitelistedServiceLocator) where T : class, ITabViewModel, IWhitelisted { regionManager.RegisterViewWithRegion(tabControlRegion, () => { var tab = new TabItem(); HelpProvider.SetHelpTopic(tab, helpTopic); var viewModel = whitelistedServiceLocator.GetInstance <T>(); var content = new Grid(); var contentRegion = new ItemsControl(); contentRegion.SetValue(RegionManager.RegionNameProperty, contentRegionName); contentRegion.Padding = ContentPadding; contentRegion.IsTabStop = false; content.Children.Add(contentRegion); var header = new IconTabHeader(); tab.Header = header; header.DataContext = viewModel; AddGpoBehavior(tab, content, viewModel); tab.Content = content; return(tab); }); }