매우 간단한 드래그 예제입니다.
드래그 할 대상을 클릭할때 초기 Position 값을 설정하고, MouseMove 이벤트가 발생할 때마다 Position 값을 읽어 이전의 값과 차이만큼 Margin을 설정해주는 방법이에요.
참고. CaptureMouse() 메서드가 포인트가 되겠습니다.
// 이전 마우스 위치 // 현재 마우스 위치 // 드래그 여부 void LayoutRoot_Loaded(object sender, RoutedEventArgs e) void Rec_Drag_MouseMove(object sender, MouseEventArgs e) // 현재값과 이전값의 차이만큼 Margin 설정 oldX = newX; void Rec_Drag_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) void Rec_Drag_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) oldX = e.GetPosition(this).X; |