protected override void OnMouseMove(MouseEventArgs e)
{
if (m_dragState == DragState.None)
{
base.OnMouseMove(e);
return;
}
Point pos = e.GetPosition(this);
if (m_dragState == DragState.Captured)
{
if ((pos - m_dragStartPos).Length < 2)
return;
m_dragState = DragState.Dragging;
if (this.DragStarted != null)
this.DragStarted(m_dragStartPos);
}
if (this.Dragging != null)
this.Dragging(pos);
}