private async void btnSave_Click(object sender, RoutedEventArgs e) { var savePicker = new FileSavePicker(); savePicker.FileTypeChoices.Add("Arduino Code File", new List <string>() { ".ino" }); savePicker.SuggestedFileName = "CodeByProjectPhoenix"; var file = await savePicker.PickSaveFileAsync(); if (file != null) { var c = txbCCode.Text.ToArray(); List <byte> buffer = new List <byte>(); for (int i = 0; i < c.Length; i++) { buffer.Add(Convert.ToByte(c[i])); } CachedFileManager.DeferUpdates(file); await FileIO.WriteBytesAsync(file, buffer.ToArray()); Windows.Storage.Provider.FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file); MessageDialog md = new MessageDialog(status.ToString()); await md.ShowAsync(); } }
private async Task SaveCalendarInk() { Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; try { var file = await localFolder.CreateFileAsync(_CalendarMonth.Month.ToString("yyyy-MM") + ".gif", Windows.Storage.CreationCollisionOption.ReplaceExisting); Windows.Storage.CachedFileManager.DeferUpdates(file); using (IRandomAccessStream stream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite)) { using (IOutputStream outputStream = stream.GetOutputStreamAt(0)) { await calendarCanvas.InkPresenter.StrokeContainer.SaveAsync(outputStream); await outputStream.FlushAsync(); } } // Finalize write so other apps can update file. Windows.Storage.Provider.FileUpdateStatus status = await Windows.Storage.CachedFileManager.CompleteUpdatesAsync(file); if (status == Windows.Storage.Provider.FileUpdateStatus.Complete) { Debugger.WriteDebugLog("Calendar ink saved."); } else { throw new Exception("Calendar ink couldn't be saved. Status=" + status.ToString() + "."); } } catch (Exception ex) { Debugger.WriteErrorLog("Error occured while saving calendar canvas.", ex); await new MessageDialog(ex.Message, "Error occured while saving calendar canvas.").ShowAsync(); } }