예제 #1
0
        protected override void OnDrop(DragEventArgs e)
        {
            base.OnDrop(e);
            DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;

            if (dragObject != null && !String.IsNullOrEmpty(dragObject.Xaml))
            {
                CircuitPart newItem = null;
                Object      content = XamlReader.Load(XmlReader.Create(new StringReader(dragObject.Xaml)));

                Image img = content as Image;


                if (content != null)
                {
                    newItem         = new CircuitPart();
                    newItem.Content = content;

                    Point position = e.GetPosition(this);

                    if (dragObject.DesiredSize.HasValue)
                    {
                        Size desiredSize = dragObject.DesiredSize.Value;
                        newItem.Width  = desiredSize.Width;
                        newItem.Height = desiredSize.Height;

                        DesignerCanvas.SetLeft(newItem, Math.Max(0, position.X - newItem.Width / 2));
                        DesignerCanvas.SetTop(newItem, Math.Max(0, position.Y - newItem.Height / 2));
                    }
                    else
                    {
                        DesignerCanvas.SetLeft(newItem, Math.Max(0, position.X));
                        DesignerCanvas.SetTop(newItem, Math.Max(0, position.Y));
                    }

                    Canvas.SetZIndex(newItem, this.Children.Count);
                    this.Children.Add(newItem);
                    SetConnectorDecoratorTemplate(newItem);

                    //update selection
                    this.SelectionService.SelectItem(newItem);
                    newItem.Focus();
                }

                e.Handled = true;
                Console.WriteLine("number is {0:s}:", img.Name);



                if (img.Name == "hsc")
                {
                    hscc++;
                }
                if (img.Name == "hyc")
                {
                    hycc++;
                }
                if (img.Name == "stc")
                {
                    stcc++;
                }

                Console.WriteLine("count hsc is {0:d}:", hscc);
                Console.WriteLine("count hycc is {0:d}:", hycc);
                Console.WriteLine("count is {0:d}:", stcc);

                Console.WriteLine("amount is {0:d}:", (hscc * hscprice) + (hycc * hycprice) + (stcc * stcprice));
            }
        }