private async Task LoadMaterial(MyTheme theme) { if (materialDataLoader == null) { materialDataLoader = new DataLoader <MaterialGroup>(); } string materialFilePath = Path.Combine(Constants.THEME_MODULE, theme.id, Constants.MATERIAL_DATA_FILE); var materialGroup = await materialDataLoader.LoadLocalData(materialFilePath); if (materialGroup == null) { materialGroup = new MaterialGroup(); } var visibleMaterials = materialGroup.Materials.Where(x => x.visible); foreach (var m in visibleMaterials) { materials_all.Add(m); } var types = Enum.GetValues(typeof(MaterialType)); foreach (var type in types) { var key = type.ToString(); var mList = visibleMaterials.Where(x => x.type == key); foreach (var m in mList) { material_dict[key].Add(m); } } }
private async void LoadData_SplitFile(MyTheme theme) { if (materialDataLoader == null) { materialDataLoader = new DataLoader <MaterialGroup>(); } materialFilePath = Path.Combine(Constants.THEME_MODULE, theme.id, Constants.MATERIAL_DATA_FILE); materialGroup = await materialDataLoader.LoadLocalData(materialFilePath); if (materialGroup == null) { materialGroup = new MaterialGroup(); } var materials = from m in materialGroup.Materials where m.themePackID.Equals(theme.id) select m; foreach (var material in materials) { material.ThemeEnabled = theme.visible; } this.myMaterialListBox.ItemsSource = materials; }
private async void LoadGroupedData(MyTheme theme) { if (vm == null) { vm = new MyThemeDetailViewModel(); } if (materialDataLoader == null) { materialDataLoader = new DataLoader <MaterialGroup>(); } materialFilePath = Path.Combine(Constants.THEME_MODULE, theme.id, Constants.MATERIAL_DATA_FILE); materialGroup = await materialDataLoader.LoadLocalData(materialFilePath); if (materialGroup == null) { materialGroup = new MaterialGroup(); } var materials = from m in materialGroup.Materials where m.themePackID.Equals(theme.id) select m; foreach (var material in materials) { material.ThemeEnabled = theme.visible; } vm.SetData(materials); groupList.DataContext = vm; }
private void ImageSwitch_CheckStateChanged(Shared.Control.ImageSwitch sender, bool suggestedState) { MyTheme theme = sender.GetDataContext <MyTheme>(); if (theme != null) { theme.visible = !theme.visible; SaveData(); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == NavigationMode.New) { currentTheme = (MyTheme)e.Parameter; //LoadData_SplitFile(currentTheme); LoadGroupedData(currentTheme); } UmengSDK.UmengAnalytics.TrackPageStart(this.GetType().ToString()); }
private void theme_Tapped(object sender, TappedRoutedEventArgs e) { MyTheme theme = sender.GetDataContext <MyTheme>(); if (listEditing) { theme.Selected = !theme.Selected; } else { Frame.Navigate(typeof(MyThemeDetailPage), theme); } }
/// <summary> /// Конструктор объекта приложения. /// </summary> public App() { // Глобальный обработчик неперехваченных исключений. UnhandledException += Application_UnhandledException; // Стандартная инициализация Silverlight InitializeComponent(); // Инициализация телефона InitializePhoneApplication(); // Отображение сведений о профиле графики во время отладки. if (System.Diagnostics.Debugger.IsAttached) { // Отображение текущих счетчиков частоты смены кадров. Application.Current.Host.Settings.EnableFrameRateCounter = true; MemoryDiagnosticsHelper.Start(TimeSpan.FromMilliseconds(500), true); // Отображение областей приложения, перерисовываемых в каждом кадре. //Application.Current.Host.Settings.EnableRedrawRegions = true; // Включение режима визуализации анализа нерабочего кода // для отображения областей страницы, переданных в GPU, с цветным наложением. //Application.Current.Host.Settings.EnableCacheVisualization = true; // Отключите обнаружение простоя приложения, установив для свойства UserIdleDetectionMode // объекта PhoneApplicationService приложения значение Disabled. // Внимание! Используйте только в режиме отладки. Приложение, в котором отключено обнаружение бездействия пользователя, будет продолжать работать // и потреблять энергию батареи, когда телефон не будет использоваться. PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } //Проверяем есть ли дирректория в Isolate Storage для данных. Если нет - создаем if (!fileStorage.DirectoryExists("Data")) { fileStorage.CreateDirectory("Data"); } ////Проверяем есть ли дирректория в Isolate Storage для изображений. Если нет - создаем //if (!fileStorage.DirectoryExists("Img")) // fileStorage.CreateDirectory("Img"); // Установка стартовой страницы SetupUriMapper(); //Тема MyTheme.AppTheme(); }
private async Task AddMyThemeData(ThemePack themePack, int materialCount) { try { if (myThemeDataLoader == null) { myThemeDataLoader = new DataLoader <MyThemeData>(); } //load data file var data = await myThemeDataLoader.LoadLocalData(Constants.THEME_MODULE, Constants.MY_THEME_DATA_FILE); if (data == null) { data = new MyThemeData(); } if (data.myThemes.Any(x => x.id == themePack.id)) { return; } //add new theme MyTheme newTheme = new MyTheme(); newTheme.id = themePack.id; newTheme.name = themePack.name; newTheme.thumbnail = themePack.thumbnailUrl; newTheme.materialCount = materialCount; data.myThemes.Insert(0, newTheme); //save data string json = JsonSerializer.Serialize(data); await IsolatedStorageHelper.WriteToFileAsync(Constants.THEME_MODULE, Constants.MY_THEME_DATA_FILE, json); } catch (Exception ex) { somethingWrong = true; } }
private async Task DeleteThemeFolder(MyTheme theme) { string folderName = string.Format("{0}\\{1}", Constants.THEME_MODULE, theme.id); await IsolatedStorageHelper.DeleteFolderAsync(folderName); }