Границы канваса блокируют перемещение фигуры

Мне нужно перемещать мышью по канвасу к примеру прямоугольник, который я перемещаю функциями

Canvas.SetLeft(Rectangle, currentPosition.X - lastPosition.X);
Canvas.SetTop(Rectangle, currentPosition.Y - lastPosition.Y); 

Далее нужно чтобы он не переходил за пределы канваса, я проверяю это так:

bool OnCanvas()
{
 double y = Canvas.GetTop(Rectangle);
 double x = Canvas.GetLeft(Rectangle);

 return (x >= 0 && y  >= 0 &&
                x + Rectangle.Width  <= canvas.ActualWidth &&
                y + Rectangle.Height  <= canvas.ActualHeight);
}

Проблема в том, что при касании прямоугольником границы канваса перемещение блокируется, так как выполняется условие того, что он за пределами канваса, как это обойти?


Ответы (0 шт):