예제 #1
0
        /// <summary>
        /// 新增一个可拖拽标准形状
        /// </summary>
        /// <param name="name"></param>
        /// <param name="basicShape"></param>
        /// <param name="size"></param>
        /// <param name="point"></param>
        /// <param name="background"></param>
        /// <param name="borderBrush"></param>
        /// <returns></returns>
        public DragShape AddDragShape(string name, EmBasicShape basicShape, Size size, Point point, Brush background, Brush borderBrush, string sText = "")
        {
            int childCount = this.Children.Count;

            DragShape shape = new DragShape()
            {
                CtrlName     = string.IsNullOrEmpty(name) ? Guid.NewGuid().ToString("N") : name,
                Background   = background,
                BorderBrush  = borderBrush,
                Name         = "DragShape" + childCount.ToString(),
                Width        = size.Width,
                Height       = size.Height,
                Position     = point,
                ZIndex       = childCount,
                BelongCanvas = this,            //设置为当前Canvas
                IsReadOnly   = this.IsReadOnly, //只读
                Text         = sText,

                BasicShapeType = basicShape,
                ShapePoints    = DrawBasicShape.GetShape(basicShape, size),
            };

            shape.DragDelta     += DragDelta;
            shape.DragStarted   += DragStarted;
            shape.DragCompleted += DragCompleted;

            bSaved = false;
            DragThumbs.Add(shape);
            this.Children.Add(shape);              //添加到界面上
            Canvas.SetZIndex(shape, shape.ZIndex); //设置界面ZIndex属性

            shape.IsSelected = !IsReadOnly;
            return(shape);
        }
예제 #2
0
 private void DragThumb_SizeChanged(object sender, SizeChangedEventArgs e)
 {
     ShapePoints = DrawBasicShape.GetShape(BasicShapeType, new Size(this.Width, this.Height));
 }