private void LoadTemplates() { Items.Clear(); PageItems.Clear(); int count = 0; string[] files = Directory.GetFiles(Constants.TemplateThumbnailRoot); if (files == null) { Debug.Write("Error: Reading files from the souvenirs image folder returns null."); return; } foreach (var file in files) { string name = Path.GetFileNameWithoutExtension(file); TemplateModel template = new TemplateModel(name, Path.GetFullPath(file), name); if (count < Constants.NumberOfItemsPerPage) { PageItems.Add(template); ++count; } Items.Add(template); } PageCursor = 1; NumberOfPages = (Items.Count + Constants.NumberOfItemsPerPage - 1) / Constants.NumberOfItemsPerPage; PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
protected void Reset() { PageCursor = 1; NumberOfPages = 1; Items.Clear(); PageItems.Clear(); PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
private void EditBookChanged() { EditBook.BookPages.CollectionChanged += BookPages_CollectionChanged; PaperWidth = EditBook.PaperSize.GetWidthPixel(); PaperHeight = EditBook.PaperSize.GetHeightPiexl(); TotalNum = EditBook.BookPages.Count; LeftNum = -1; RightNum = 0; PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
private void PageForwardCommandExecute(object parameter) { PageItems.Clear(); ++PageCursor; int startIndex = (PageCursor - 1) * Constants.NumberOfItemsPerPage; for (var i = startIndex; i < startIndex + Constants.NumberOfItemsPerPage; ++i) { if (i >= Items.Count) { break; } PageItems.Add(Items[i]); } PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
private void BookPages_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { TotalNum = EditBook.BookPages.Count; if (e.Action == NotifyCollectionChangedAction.Remove && TotalNum % 2 == 0) { PageBack(); } else { LeftNum = LeftNum; RightNum = RightNum; } PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); }
private async void LoadAlbumsAsync() { lock (loadAlbumsMutex) { if (isLoadingAlbums) { return; } isLoadingAlbums = true; } Items.Clear(); PageItems.Clear(); int count = 0; var albums = await oneDriveController.GetAlbumsAsync(); if (albums == null) { if (!HasInternetConnection) { Debug.WriteLine("No internet connection."); } ItemsExist = false; IsLoading = false; Debug.WriteLine("Error: Fetching albums from OneDrive returns null."); lock (loadAlbumsMutex) { isLoadingAlbums = false; } } else { foreach (var album in albums) { var bundle = new BundleModel(album.Id, album.Name, album.ThumbnailUrl); if (count < Constants.NumberOfItemsPerPage) { PageItems.Add(bundle); ++count; } Items.Add(bundle); } } PageCursor = 1; NumberOfPages = (Items.Count + Constants.NumberOfItemsPerPage - 1) / Constants.NumberOfItemsPerPage; NumberOfPages = NumberOfPages < 1 ? 1 : NumberOfPages; ItemsExist = Items.Count != 0; PageBackCommand.RaiseCanExecuteChanged(); PageForwardCommand.RaiseCanExecuteChanged(); IsLoading = false; lock (loadAlbumsMutex) { isLoadingAlbums = false; } }