コード例 #1
0
        private void CenterPointThumb_DragDelta(object sender, DragDeltaEventArgs e)
        {
            Point dragDelta = new Point(e.HorizontalChange, e.VerticalChange);

            if (this.designerItem != null && this._parent != null)
            {
                if (this._transform != null)
                {
                    dragDelta = _transform.Transform(dragDelta);
                }

                DesignerCanvas.SetLeft(this, DesignerCanvas.GetLeft(this) + dragDelta.X);
                DesignerCanvas.SetTop(this, DesignerCanvas.GetTop(this) + dragDelta.Y);
                e.Handled = true;
            }
        }
コード例 #2
0
        /// <summary>
        /// 已经开始拖放
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MoveThumb_DragStarted(object sender, DragStartedEventArgs e)
        {
            this._beMovedItem = DataContext as DesignerItem;
            sp = Mouse.GetPosition(this._parent);
            if (this._beMovedItem != null)
            {
                this._parent    = VisualTreeHelper.GetParent(this._beMovedItem) as DesignerCanvas;
                this._transform = this._beMovedItem.RenderTransform as RotateTransform;

                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this._parent);
                if (adornerLayer != null)
                {
                    this._infoAdorner = new LocationInfoAdorner(this._beMovedItem);
                    adornerLayer.Add(this._infoAdorner);
                }
            }
        }
コード例 #3
0
        public RubberbandAdorner(DesignerCanvas designerCanvas, Point?dragStartPoint)
            : base(designerCanvas)
        {
            this.designerCanvas = designerCanvas;
            this.startPoint     = dragStartPoint;

            this.adornerCanvas            = new Canvas();
            this.adornerCanvas.Background = Brushes.Transparent;
            this.visuals = new VisualCollection(this);
            this.visuals.Add(this.adornerCanvas);

            this.rubberband                 = new Rectangle();
            this.rubberband.Stroke          = Brushes.Navy;
            this.rubberband.StrokeThickness = 1;
            this.rubberband.Fill            = new SolidColorBrush(Color.FromArgb(50, 0, 191, 255));
            //TODO 线段样式
            //this.rubberband.StrokeDashArray = new DoubleCollection(new double[] { 2 });

            this.adornerCanvas.Children.Add(this.rubberband);
        }
コード例 #4
0
        /// <summary>
        /// 已经开始拖放
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LineThumb_DragStarted(object sender, DragStartedEventArgs e)
        {
            this._parentItem = DataContext as DesignerItem;

            if (this._parentItem != null)
            {
                this._line = _parentItem.Content as Line;
                //初始化起点终点

                this._parentCanvas = VisualTreeHelper.GetParent(this._parentItem) as DesignerCanvas;

                this._transform = this._line.RenderTransform as RotateTransform;

                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this._parentCanvas);
                if (adornerLayer != null)
                {
                    //TODO
                    //this._infoAdorner = new LineAdorner(this._line);
                    //adornerLayer.Add(this._infoAdorner);
                }
            }
        }