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);
        }