Границы канваса блокируют перемещение фигуры
Мне нужно перемещать мышью по канвасу к примеру прямоугольник, который я перемещаю функциями
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);
}
Проблема в том, что при касании прямоугольником границы канваса перемещение блокируется, так как выполняется условие того, что он за пределами канваса, как это обойти?