Example #1
0
        private void MouseMoveMethod(FrameworkElement element, Point currentPosition)
        {
            double scale = 1;
            if (element.IsActivity())
            {
                scale = ((ScaleResizingAdorner)elements[element]).Scale;
            }

            double left = (currentPosition.X - clickPoint.X * scale);
            double top = (currentPosition.Y - clickPoint.Y * scale);
            left = Math.Max(left, 0);
            top = Math.Max(top, 0);
            Canvas.SetLeft(element, left);
            Canvas.SetTop(element, top);
        }
Example #2
0
        /// <summary>
        /// Add an element
        /// </summary>
        /// <param name="element"></param>
        public void AddWidget(FrameworkElement element)
        {
            element.Cursor = Cursors.SizeAll;
            element.AddHandler(FrameworkElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(MouseLeftButtonDown), true);
            element.AddHandler(FrameworkElement.MouseLeftButtonUpEvent, new MouseButtonEventHandler(MouseLeftButtonUp), true);
            element.AddHandler(FrameworkElement.MouseMoveEvent, new MouseEventHandler(MouseMove), true);

            ResizingAdorner adorner = element.IsActivity() ? new ScaleResizingAdorner(element) : new ResizingAdorner(element);
            adorner.WidgetDragging += OnWidgetDragging;
            adornerLayer.Add(adorner);

            elements.Add(element, adorner);
            ElementsRightBottom.Add(element, new Point()); // element may has not loaded
        }
Example #3
0
        private void MouseLeftButtonUpMethod(FrameworkElement element)
        {
            element.ReleaseMouseCapture();
            isMouseCaptured = false;

            double scale = 1;
            if (element.IsActivity())
            {
                scale = ((ScaleResizingAdorner)elements[element]).Scale;
            }

            OnWidgetDragging(element, new WidgetDraggingEventArgs(new Point(
                Canvas.GetLeft(element) + element.ActualWidth * scale, Canvas.GetTop(element) + element.ActualHeight * scale)));
        }