Ejemplo n.º 1
0
        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());
                    }
                }
            }
        }
Ejemplo n.º 2
0
        protected string SaveToString()
        {
            Canvas canvas = xamlDrawingCanvas.CloneToCLR(false);

            //canvas.Background = xamlCanvasBrushPicker.PickedBrush;
            return(DDTools.WriteToXaml(canvas, false));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
 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);
 }