/// <summary> /// Event handler for the Save button click event. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void SaveButton_Clicked(object sender, RoutedEventArgs e) { if (!DrawingPanel.HasContent) { rootPage.NotifyUser("Must have content before saving.", NotifyType.ErrorMessage); return; } // Saves the current drawing to a GIF-compatible file the user selects. FileSavePicker picker = new FileSavePicker(); picker.FileTypeChoices.Add(new KeyValuePair <string, IList <string> >("SCPDraw", new List <string>() { DefaultFileExtension })); picker.DefaultFileExtension = DefaultFileExtension; picker.SuggestedFileName = "drawing"; picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; var file = await picker.PickSaveFileAsync(); if (file != null) { using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { await DrawingPanel.SaveStrokesToStreamAsync(stream); } rootPage.NotifyUser("Saved drawing to file: " + file.Name, NotifyType.StatusMessage); } }