protected Button GetModuleMenuButton(IRegionManager regionManager, ScienceAndMathsModuleInfo scienceAndMathsModuleInfo) { Button canalButton = new Button(); StackPanel stackPanel = new StackPanel() { Orientation = Orientation.Vertical }; canalButton.Content = stackPanel; stackPanel.Children.Add(new Label() { HorizontalAlignment = HorizontalAlignment.Center, Content = scienceAndMathsModuleInfo.Name }); stackPanel.Children.Add(new Image() { Width = 200, Height = 200, Source = new BitmapImage(new Uri(scienceAndMathsModuleInfo.ImageUri)) }); canalButton.HorizontalAlignment = HorizontalAlignment.Stretch; canalButton.Style = MainMenu.mainGrid.Resources["MenuButtonStyle"] as Style; canalButton.Command = new DelegateCommand(() => regionManager.NavigateToViewAndRibbon(Shared.Constants.MainRegion, scienceAndMathsModuleInfo.MainViewUri)); return(canalButton); }
protected void CreateMainMenu() { IRegionManager regionManager = Container.Resolve <IRegionManager>(); IModuleCatalog moduleCatalog = Container.Resolve <IModuleCatalog>(); foreach (IModuleInfo moduleInfo in moduleCatalog.Modules) { Type moduleType = Type.GetType(moduleInfo.ModuleType); var module = Container.Resolve(moduleType); if (module is ScienceAndMathsModule scienceAndMathsModule) { ScienceAndMathsModuleInfo samModuleInfo = scienceAndMathsModule.GetModuleInfo(); Button canalButton = GetModuleMenuButton(regionManager, samModuleInfo); MainMenu.menuPanel.Children.Add(canalButton); } } regionManager.Regions[Shared.Constants.MainRegion].Add(MainMenu, Shared.Constants.MainMenuView); regionManager.RequestNavigate(Shared.Constants.MainRegion, typeof(MainMenuView).Name); }