У меня есть кнопка «Сохранить», поэтому, когда пользователь нажимает, он выполняет сохранение файла XML (сериализация XML). Здесь используется savefiledialog, и когда я нажимаю кнопку «Отмена» без выбора какого-либо файла, возникает «Исключение аргумента» с сообщением «Пустое имя пути недопустимо». Как мне справиться с этим исключением? Я бы хотел, чтобы форма оставалась неизменной даже без выбора пути в файле savefiledialog. Большое спасибо.
Мой фрагмент savefiledialog:
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
string savepath;
SaveFileDialog DialogSave = new SaveFileDialog();
// Default file extension
DialogSave.DefaultExt = "txt";
// Available file extensions
DialogSave.Filter = "XML file (*.xml)|*.xml|All files (*.*)|*.*";
// Adds a extension if the user does not
DialogSave.AddExtension = true;
// Restores the selected directory, next time
DialogSave.RestoreDirectory = true;
// Dialog title
DialogSave.Title = "Where do you want to save the file?";
// Startup directory
DialogSave.InitialDirectory = @"C:/";
DialogSave.ShowDialog();
savepath = DialogSave.FileName;
DialogSave.Dispose();
DialogSave = null;
...
using (Stream savestream = new FileStream(savepath, FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(FormSaving));
serializer.Serialize(savestream, formsaving);
}
}
В этой строке возникает исключение моего аргумента:
using (Stream savestream = new FileStream(savepath, FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(FormSaving));
serializer.Serialize(savestream, formsaving);
}