Я работаю с приложением WPF, а точнее с Canvas с перетаскиваемыми элементами.
После перетаскивания элемента я бы хотел ограничить область перемещения курсора внутри холста, где перетаскиваются элементы.
Событие, которое может начать перетаскивание, показано ниже
private void WidgetCanvas_PreviewHeaderLeftMouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
... logic to figure out if this is a valid drag, blah blah blah ...
this.IsDragging = true;
// TODO: clip the available cursor movement to actual width of Canvas
}
В Preview-MouseUp я хотел бы просто "отсоединить" движение курсора назад к его нормальному состоянию.
Я буду следить за движением мыши, как только начну перетаскивать (PreviewMouseMove), поэтому в худшем случае я мог бы вручную проверить положение мыши и ограничить ее на холсте, но это выглядит немного уродливо. 1010 *
У кого-нибудь есть лучший способ ограничить границы курсора?