void InitializeDemoModulesAndHamburgerMenuItems() { HamburgerMenuItems.Add(new HamburgerMenuItem(this, "Featured Demos", "Overview", MainScreenId )); DemoModules = new ObservableCollection <DemoModuleViewModel>(); List <DemoModule> newModules = new List <DemoModule>(); List <DemoModule> updatedModules = new List <DemoModule>(); List <DemoModule> highlightedModules = new List <DemoModule>(); List <DemoModule> modules = new List <DemoModule>(); foreach (DemoModuleGroup demoModuleGroup in DataModel.DataModel.Current.DemoModuleGroups) { foreach (DemoModule demoModule in demoModuleGroup.DemoModules) { if (demoModule.IsNew) { newModules.Add(demoModule); } else if (demoModule.IsUpdated) { updatedModules.Add(demoModule); } else if (demoModule.IsHighlighted) { highlightedModules.Add(demoModule); } else { modules.Add(demoModule); } } HamburgerMenuItems.Add(new HamburgerMenuItem(this, demoModuleGroup.Title, demoModuleGroup.Icon, demoModuleGroup.Name)); } newModules.Union(updatedModules).Union(highlightedModules).Union(modules).Select(x => new DemoModuleViewModel(this, x)).ForEach(x => DemoModules.Add(x)); HamburgerMenuItems.Add(new HamburgerMenuDateNavigatorItem()); HamburgerMenuItems.Add(new HamburgerMenuAccentColorSelectorItem()); HamburgerMenuItems.Add(new HamburgerMenuThemeSwitcherItem()); HamburgerMenuItems.Add(new HamburgerMenuHyperLink() { Title = "Privacy Policy", Uri = @"https://www.devexpress.com/Products/NET/Controls/Win10Apps/privacy-policy.xml", Placement = HamburgerMenuNavigationButtonPlacement.Bottom }); HamburgerMenuItems.Add(new HamburgerMenuHyperLink() { Title = "Browse Online", Uri = @"https://www.devexpress.com/Products/NET/Controls/Win10Apps/", Placement = HamburgerMenuNavigationButtonPlacement.Top }); FilteredDemoModules = new ObservableCollection <DemoModuleViewModel>(); foreach (DemoModuleViewModel demoModule in DemoModules) { FilteredDemoModules.Add(demoModule); } }
bool SelectHamburgerMenuItemByParameter(object parameter) { HamburgerMenuItem item = HamburgerMenuItems.OfType <HamburgerMenuItem>().FirstOrDefault(x => x.GroupName != null && x.GroupName == parameter as string); if (item != null) { SelectedHamburgerMenuItem = item; ApplyFilter(item.GroupName); return(true); } return(false); }