private void btnSave_Click(object sender, RoutedEventArgs e) { if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { var dlg = new OpenFileDialog() { Filter = "xziar package (*.xzrp)|*.xzrp", Title = "导入场景数据", AddExtension = true, CheckFileExists = true, CheckPathExists = true, Multiselect = false, ValidateNames = true, }; if (dlg.ShowDialog() != true) { return; } try { WaitingCount++; Core.DeSerialize(dlg.FileName); } catch (Exception ex) { new TextDialog(ex).ShowDialog(); } finally { WaitingCount--; } } else { var dlg = new SaveFileDialog() { Filter = "xziar package (*.xzrp)|*.xzrp", Title = "导出场景数据", AddExtension = true, OverwritePrompt = true, CheckPathExists = true, ValidateNames = true, }; if (dlg.ShowDialog() != true) { return; } try { WaitingCount++; Core.Serialize(dlg.FileName); } catch (Exception ex) { new TextDialog(ex).ShowDialog(); } finally { WaitingCount--; } } glMain.Invalidate(); }