rr
Size: a a a
rr
rr
rr
rr
DS
t
rr
rr
t
М
М
АМ
М
private void CircleColor_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
draggedObject = (FrameworkElement)sender;
relativeMousePos = e.GetPosition(draggedObject) - new Point();
draggedObject.MouseMove += OnDragMove;
draggedObject.LostMouseCapture += OnLostCapture;
draggedObject.MouseUp += OnMouseUp;
Mouse.Capture(draggedObject);
}
void OnDragMove(object sender, MouseEventArgs e)
{
UpdatePosition(e);
}
void UpdatePosition(MouseEventArgs e)
{
var point = e.GetPosition(Canvas);
var newPos = point - relativeMousePos;
Canvas.SetLeft(draggedObject, newPos.X);
Canvas.SetTop(draggedObject, newPos.Y);
}
void OnMouseUp(object sender, MouseButtonEventArgs e)
{
FinishDrag(sender, e);
Mouse.Capture(null);
}
void OnLostCapture(object sender, MouseEventArgs e)
{
FinishDrag(sender, e);
}
void FinishDrag(object sender, MouseEventArgs e)
{
draggedObject.MouseMove -= OnDragMove;
draggedObject.LostMouseCapture -= OnLostCapture;
draggedObject.MouseUp -= OnMouseUp;
UpdatePosition(e);
}
М
М
Б[
ПП
4
ПП
ИГ