protected void OnResponse(object o, ResponseArgs args) { if (args.ResponseId == ResponseType.Ok) { Properties = new ExportProperties { Type = (ExportType)ExportTypeSelection.Active, Height = (uint)HeightInput.Value, Width = (uint)WidthInput.Value, Color = new byte[3] { MapToByte(ColorButton.Color.Red), MapToByte(ColorButton.Color.Green), MapToByte(ColorButton.Color.Blue) } }; } }
private void Export(ExportType exportType) { ExportProperties props = null; ExportDialog export = new ExportDialog(exportType); export.Response += delegate(object obj, ResponseArgs resp) { if (resp.ResponseId == ResponseType.Ok) { props = export.Properties; } }; export.Run(); export.Destroy(); if (props == null) { return; } FileChooserDialog fc = new FileChooserDialog("Kaydedilecek Yeri Seçin", this, FileChooserAction.Save, "Vazgeç", ResponseType.Cancel, "Kaydet", ResponseType.Accept); if (fc.Run() == (int)ResponseType.Accept) { props.FileName = fc.Filename; } fc.Destroy(); if (props.FileName == null) { return; } if (props.Type == ExportType.PDF) { PdfExporter exporter = new PdfExporter { Width = props.Width, Height = props.Height, Background = OxyColor.FromRgb(props.Color[0], props.Color[1], props.Color[2]) }; try { using (FileStream file = File.Create(props.FileName)) exporter.Export(MainPlotModel, file); } catch (Exception ex) { MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" + "Mesaj: " + ex.Message); dialog.Run(); dialog.Destroy(); } } else if (props.Type == ExportType.PNG) { PngExporter exporter = new PngExporter { Width = (int)props.Width, Height = (int)props.Height, Background = OxyColor.FromRgb(props.Color[0], props.Color[1], props.Color[2]) }; try { using (FileStream file = File.Create(props.FileName)) exporter.Export(MainPlotModel, file); } catch (Exception ex) { MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" + "Mesaj: " + ex.Message); dialog.Run(); dialog.Destroy(); } } else if (props.Type == ExportType.SVG) { SvgExporter exporter = new SvgExporter { Width = (int)props.Width, Height = (int)props.Height }; try { using (FileStream file = File.Create(props.FileName)) exporter.Export(MainPlotModel, file); } catch (Exception ex) { MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" + "Mesaj: " + ex.Message); dialog.Run(); dialog.Destroy(); } } }