public void PasteFromClipboard(DDCanvas targetCanvas) { if (targetCanvas == null) { return; } if (Clipboard.ContainsData(DataFormat)) { ClearSelection(); string xaml = Clipboard.GetData(DataFormat) as string; object[] objects = DDTools.ReadMultipleFromXaml(xaml); List <DDObject> pastedObjects = new List <DDObject>(); foreach (object o in objects) { DDObject ddo = DDObject.TryCreateFromCLR(o); if (ddo != null) { pastedObjects.Add(ddo); targetCanvas.Children.Add(ddo); } } SelectObjects(targetCanvas, pastedObjects.ToArray()); if (pastedObjects.Count > 0) { if (ObjectsAdded != null) { ObjectsAdded(this, new EventArgs()); } } } }
protected string SaveToString() { Canvas canvas = xamlDrawingCanvas.CloneToCLR(false); //canvas.Background = xamlCanvasBrushPicker.PickedBrush; return(DDTools.WriteToXaml(canvas, false)); }
public void CopyToClipboardAsXaml(Canvas carrierCanvas) { if (TSFrame == null) { return; } foreach (DDObjectTC otc in TSFrame.Targets) { carrierCanvas.Children.Add(otc.Target.CloneToCLR()); } string xaml = DDTools.WriteToXaml(carrierCanvas, true); Clipboard.SetText(xaml); }
public void CopyToClipboard() { if (TSFrame == null) { return; } StringBuilder sb = new StringBuilder(); sb.AppendLine("<DDClipboardRoot>"); foreach (DDObjectTC otc in TSFrame.Targets) { sb.AppendLine(DDTools.WriteToXaml(otc.Target.CloneToCLR(), false)); } sb.AppendLine("</DDClipboardRoot>"); Clipboard.SetData(DataFormat, sb.ToString()); }
protected bool SetFromString(string xaml) { try { object o = DDTools.ReadFromXaml(xaml); if (o is Canvas) { //xamlDrawingCanvasBackground.Background = (o as Canvas).Background.Clone(); (o as Canvas).ClearValue(Panel.BackgroundProperty); xamlDrawingCanvas.SetFromCanvas(o as Canvas); return(true); } } catch (Exception) { return(false); } return(false); }