Example #1
0
        private void DragFinished()
        {
            Mouse.Capture(null);
            if (IsDragging)
            {
                AdornerLayer.GetAdornerLayer(designAdorner.AdornedElement).Remove(designAdorner);

                var newTop  = draggingInfo.Top + designAdorner.TopOffset / ZoomLevel;
                var newLeft = draggingInfo.Left + designAdorner.LeftOffset / ZoomLevel;

                Canvas.SetTop(DraggingElement, newTop);
                Canvas.SetLeft(DraggingElement, newLeft);

                designAdorner = null;
            }

            if (ConstraintToBounds && !ElementWithin(DraggingElement, DragArea))
            {
                DragArea.Children.Remove(DraggingElement);
                DraggingElement = null;
            }

            IsDragging = false;
            IsDown     = false;
        }
Example #2
0
        private void DragStarted()
        {
            IsDragging        = true;
            draggingInfo.Left = Canvas.GetLeft(DraggingElement);
            draggingInfo.Top  = Canvas.GetTop(DraggingElement);

            designAdorner = new DesignAdorner(DraggingElement);
            var layer = AdornerLayer.GetAdornerLayer(DraggingElement);

            layer.Add(designAdorner);
        }