728x90
반응형
WPF & C# - 도형 드래그 이동 ( Element / Move / DragMove / Button / Marjin ) |
도형 드래그 이동
123456789101112131415161718192021222324252627 bool dragMove; // drag 시작 여부Point ptStartMove; // 마우스 시작 위치Thickness mgnStartMove; // 도형 시작 Margin 값private void Ellipse_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){ptStartMove = e.GetPosition(win1);mgnStartMove = Ellipse1.Margin;dragMove = true;}private void Ellipse_MouseMove(object sender, MouseEventArgs e){if (!dragMove) return;Point pt = e.GetPosition(win1);double moveX = (pt.X - ptStartMove.X);double moveY = (pt.Y - ptStartMove.Y);Ellipse1.Margin = new Thickness(mgnStartMove.Left + moveX, mgnStartMove.Top + moveY, mgnStartMove.Right, mgnStartMove.Bottom);}private void Ellipse_MouseLeave(object sender, MouseButtonEventArgs e){dragMove = false;}cs 좀 더 자연스럽게 처리하려면 MouseLeave 를 해당 도형이 아닌 배경에 두는 것이 좋다.
728x90
반응형