Beispiel #1
0
        void RestoreState(object parameter, PageStateStorage storage)
        {
            List <string> savedNavigationHistory;

            if (storage.TryGetParameter("DemoNavigationHistory", out savedNavigationHistory))
            {
                navigationHistory = savedNavigationHistory;
            }
            ;
            object hamburgerMenuItemGroupName = navigationHistory == null ? parameter : navigationHistory[navigationHistory.Count - 1];

            SelectHamburgerMenuItemByParameter(hamburgerMenuItemGroupName);
            if (hamburgerMenuItemGroupName.Equals(parameter))
            {
                return;
            }
            DemoModuleViewModel demoModule = DemoModules.FirstOrDefault(x => x.DemoModule.ViewTypeName.Equals(parameter));

            if (demoModule != null)
            {
                UpdateFilteredDemoModules(demoModule);
                NavigationLevel         = NavigationLevel.DemoModule;
                SelectedDemoModuleIndex = storage.GetParameter("SelectedDemoModuleIndex", SelectedDemoModuleIndex);
            }
            else
            {
                NavigationLevel = NavigationLevel.Main;
                Navigate("MainPage", MainScreenId);
            }
        }
 protected virtual void OnDemoModulesChanged()
 {
     if (DemoModules != null && CurrentPivotItem != null)
     {
         CurrentPivotItem.ViewModel = DemoModules.ElementAt(DemoModuleIndex);
     }
 }
Beispiel #3
0
        protected virtual void OnSelectedDemoModuleChanged(DemoModuleViewModel oldValue, DemoModuleViewModel newValue)
        {
            ObservableCollection <DemoModuleViewModel> demoModules = new ObservableCollection <DemoModuleViewModel>();

            ActualDemoModules.Clear();
            int demoModuleIndex = DemoModules.IndexOf(newValue);

            for (int i = 0; i < DemoModules.Count; i++)
            {
                ActualDemoModules.Add(DemoModules[demoModuleIndex]);
                demoModuleIndex = (demoModuleIndex + 1) % DemoModules.Count;
            }
        }
Beispiel #4
0
        void UpdateFilteredDemoModules(DemoModuleViewModel firstDemoModule)
        {
            int index = DemoModules.IndexOf(firstDemoModule);

            FilteredDemoModules.Clear();
            for (int i = index; i < DemoModules.Count; i++)
            {
                if (DemoModules[i].IsVisible)
                {
                    FilteredDemoModules.Add(DemoModules[i]);
                }
            }
            for (int i = 0; i < index; i++)
            {
                if (DemoModules[i].IsVisible)
                {
                    FilteredDemoModules.Add(DemoModules[i]);
                }
            }
            PrevNextEnabled = FilteredDemoModules.Count > 1;
        }
        private void OnPivotItemLoading(Pivot sender, PivotItemEventArgs args)
        {
            if (DemoModules == null)
            {
                return;
            }
            DemoModulePivotItem item = (DemoModulePivotItem)args.Item;

            if (!loadingByDemoModuleIndexChanged && CurrentPivotItem != null)
            {
                int oldIndex = CurrentPivotItem.Index;
                int newIndex = item.Index;
                int count    = DemoModules.Count();
                SetDemoModuleIndexSilently((DemoModuleIndex + count + ((newIndex - oldIndex + 2) % 3 == 0 ? 1 : -1)) % count);
            }
            loadingByDemoModuleIndexChanged = false;
            CurrentPivotItem = item;
            CurrentPivotItem.PreferedOptionsVisibility = PreferedOptionsVisibility;
            if (DemoModules != null)
            {
                item.ViewModel = DemoModules.ElementAt(DemoModuleIndex);
            }
        }
Beispiel #6
0
 void ApplyFilter(string filterString)
 {
     DemoModules.ForEach(x => x.IsVisible = x.Group.Name == filterString || filterString == MainScreenId && x.DemoModule.IsHighlighted || string.IsNullOrEmpty(filterString));
     ShowLabels = filterString == MainScreenId;
 }