private void NewButton_Click(object sender, RoutedEventArgs e) { if (HasChanges) { string messageBoxText = "You have unsaved changes. Do you want to save changes? Click Yes to save and create a new documentation, No to create a new documentation without saving, or Cancel to not create a new documentation."; string caption = "CrypDocumentationEditor"; MessageBoxResult result = MessageBox.Show(messageBoxText, caption, MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); switch (result) { case MessageBoxResult.Yes: Microsoft.Win32.SaveFileDialog dlg2 = new Microsoft.Win32.SaveFileDialog(); dlg2.FileName = "Documentation"; dlg2.DefaultExt = ".xml"; dlg2.Filter = "XML docu files (.xml)|*.xml"; Nullable <bool> result2 = dlg2.ShowDialog(); if (result2 == true) { string filename = dlg2.FileName; _docu.Introduction = Introduction.Document; _docu.Usage = Usage.Document; _docu.Presentation = Presentation.Document; _docu.Save(filename); HasChanges = false; } else { return; } break; case MessageBoxResult.No: // User pressed No button // ... break; case MessageBoxResult.Cancel: return; } } _docu = new Documentation(); FlowDocument document = new FlowDocument(); Paragraph para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Introduction.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Usage.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Presentation.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Introduction2.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Usage2.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Presentation2.Document = document; GenerateLanguageSelector(); HasChanges = false; }