protected override async void OnNavigatedTo(NavigationEventArgs e) { printHelper.register(); save_ink("blank.gif"); // create a blank file to create new pages later Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; IReadOnlyList <StorageFile> files = Task.Run(async() => { return(await storageFolder.GetFilesAsync()); }).GetAwaiter().GetResult(); List <Task> tasks = new List <Task>(); int numPages = 0; foreach (var file in files) { // TODO should check that it starts with number and no missing pages (e.g. 0,1,3...) if (file.Name.EndsWith(page_file_name)) { int pageID = int.Parse(file.Name.Split('_')[0]); InkPage ip = new InkPage(pageID); // AsyncHelpers.RunSync(() => ip.loadAsync()); await ip.loadAsync(); pageBuffers.Add(pageID, ip); numPages++; } } if (pageBuffers.Count > 0) { // TODO not needed? last_page = numPages - 1; // load 0_Page.gif // load_ink(cur_page.ToString() + page_file_name); } // else last_page=0, which is the current blank page else { pageBuffers.Add(0, new InkPage(0)); } replaceCanvas(pageBuffers[0]); }