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(); }
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(); }