public void ParentEl_MouseMove(object sender, MouseEventArgs e)
        {
            Point ss = ParentEl.TranslatePoint(new Point(0, 0), MyCanvas);

            New_x = (int)ss.X;
            New_y = (int)ss.Y;
            UpdateCoord();


            if (IsMove)
            {
                MousePositionNext = e.GetPosition(MyCanvas);
                double delX = MousePositionNext.X - MousePositionCurr.X;
                double delY = MousePositionNext.Y - MousePositionCurr.Y;
                if (!IsGrouping)
                {
                    if (e.LeftButton == MouseButtonState.Pressed)
                    {
                        New_x += delX;
                        New_y += delY;
                        X     += delX;
                        Y     += delY;
                        Canvas.SetLeft(ParentEl, X);
                        Canvas.SetTop(ParentEl, Y);
                    }
                    UpdateCoord();
                }
                else
                {
                    MyWindow.MoveAll(delX, delY);
                }
                MousePositionCurr = MousePositionNext;
                UpdateCoord();
            }
        }
        public void ParentEl_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            IsMove = false;
            Mouse.Capture(null);
            Point pp = Lerp();

            if (IsGrouping)
            {
                foreach (var vv in MyWindow.GroupFrameworkElements)
                {
                    if (vv.DataContext is BaseDrawClass)
                    {
                        if (vv.DataContext != this)
                        {
                            (vv.DataContext as BaseDrawClass).X += pp.X;
                            (vv.DataContext as BaseDrawClass).Y += pp.Y;
                            Canvas.SetLeft(vv, (vv.DataContext as BaseDrawClass).X);
                            Canvas.SetTop(vv, (vv.DataContext as BaseDrawClass).Y);
                            (vv.DataContext as BaseDrawClass).UpdateCoord();
                        }
                    }
                }
            }
            Point ss = ParentEl.TranslatePoint(new Point(0, 0), MyCanvas);

            New_x = (int)ss.X;
            New_y = (int)ss.Y;
            UpdateCoord();
        }
Exemplo n.º 3
0
        private void ParentEl_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            IsMove = false;
            Mouse.Capture(null);
            Point ss = ParentEl.TranslatePoint(new Point(0, 0), MyCanvas);

            New_x = (int)ss.X;
            New_y = (int)ss.Y;
            UpdateCoord();
        }