private void BuildMenu() { var settingsItem = new SDK.Model.MenuItem("Settings", "appbar_settings", new SDK.Tools.Thickness(5, 5, 5, 5), true); settingsItem.Click += (s, e) => { MainWindow.SettingsFlyout.Width = MainWindow.ProfileSwitcher.ActualWidth + MainWindow.FLYOUT_WIDTH_MIN; if (!MainWindow.SettingsFlyout.IsOpen) { MainWindow.SettingsFlyout.Visibility = Visibility.Hidden; } MainWindow.SettingsFlyout.IsOpen = true; }; var consoleItem = new SDK.Model.MenuItem("Console", "appbar_app", new SDK.Tools.Thickness(5, 7, 5, 7), true); consoleItem.Click += (s, e) => { ShowWindow(App.Kernel.Get <Logger>().Container); MainWindow.MenuFlyout.IsOpen = false; }; var aboutItem = new SDK.Model.MenuItem("About", "appbar_information", new SDK.Tools.Thickness(9, 4, 9, 4), true); aboutItem.Click += (s, e) => { ShowWindow(App.Kernel.Get <About>().Container); MainWindow.MenuFlyout.IsOpen = false; }; List <MenuItem> extraMenuItems = new List <MenuItem>(MenuItems); MenuItems.Clear(); MenuItems.Add(settingsItem); MenuItems.Add(consoleItem); MenuItems.Add(aboutItem); InternalMenuCount = MenuItems.Count; OwnedItems.AddRange(MenuItems); foreach (MenuItem item in extraMenuItems) { MenuItems.Add(item); } MainPage = new PageItem("MainWindow_NewsTab", new MainPage().Container, true); Gallery = new PageItem("MainWindow_GalleryTab", new Gallery().Container, true); Community = new PageItem("MainWindow_CommunityTab", new Community().Container, true); Personalization = new PageItem("MainWindow_PersonalizationTab", new Personalization().Container, true); List <PageItem> extraPages = new List <PageItem>(PageItems); PageItems.Clear(); PageItems.Add(MainPage); PageItems.Add(Gallery); PageItems.Add(Community); PageItems.Add(Personalization); OwnedItems.AddRange(PageItems); foreach (PageItem item in extraPages) { PageItems.Add(item); } }
public void AddMenuItem(SDK.Model.MenuItem menuItem) { lock (MenuItems) { if (!IsMenuSeparatorInserted) { MenuItems.Add(MenuItem.Separator); IsMenuSeparatorInserted = true; } MenuItems.Add(menuItem); } }
public bool RemoveMenuItem(SDK.Model.MenuItem menuItem) { lock (MenuItems) { if (OwnedItems.Contains(menuItem)) { throw new ArgumentException("You are not allowed to remove default MenuItem"); } bool result = MenuItems.Remove(menuItem); if (MenuItems.Count == InternalMenuCount + 1) { var obj = MenuItems.Last(); if (obj.IsSeparator) { MenuItems.Remove(obj); IsMenuSeparatorInserted = false; } } return(result); } }