private void ButtonExport_OnClick(object sender, RoutedEventArgs e) { try { var saveFileDialog = new SaveFileDialog(); saveFileDialog.InitialDirectory = string.IsNullOrEmpty(Settings.Default.LastStreamDeckExportFolder) ? Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) : Settings.Default.LastStreamDeckExportFolder; saveFileDialog.Filter = @"Compressed File|*.zip"; saveFileDialog.FileName = "streamdeck_export"; if (saveFileDialog.ShowDialog() == true) { _zipFileName = saveFileDialog.FileName; Settings.Default.LastStreamDeckExportFolder = Path.GetDirectoryName(saveFileDialog.FileName); Settings.Default.Save(); var buttonExports = DataGridStreamDeckButtons.SelectedItems.Cast <ButtonExport>().ToList(); _streamDeckPanel.Export(_zipFileName, buttonExports); } SetFormState(); } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }