private void Menu_FileSaveOnClick(object sender, RoutedEventArgs e) { var saveFile = new SaveFileDialog { InitialDirectory = string.IsNullOrWhiteSpace(TextBoxWidgetFolder.Text) ? ConfigurationManager.AppSettings["WidgetTestFolder"] : TextBoxWidgetFolder.Text, FileName = string.IsNullOrWhiteSpace(TextBoxWidgetFile.Text) ? TextBoxWidgetName.Text : TextBoxWidgetFile.Text, DefaultExt = "json", CheckPathExists = true, Filter = "Widget Files (*.json)|*.json|All files (*.*)|*.*" }; if (saveFile.ShowDialog() ?? false) { // If the file name is not an empty string open it for saving. if (saveFile.FileName != "") { // http://james.newtonking.com/json/help/index.html StoreWidgetDisplayFields(); if (!workWidget.WriteWidgetFile(saveFile.FileName)) { TextBoxErrorMessage.Text = string.Format("Unable to save widget: {0}", workWidget.ErrorMessage); } } else { TextBoxErrorMessage.Text = "Invalid Widget File Name"; } } }