У меня есть окно WPF без полей (WindowStyle="None"), которое можно перемещать, ловя LeftMouseDown, а затем вызывая DragMove. Это прекрасно работает.
Однако я хочу, чтобы какая-либо часть окна не покидала область экрана. Я ловлю LocationChanged, но это вызывается ПОСЛЕ того, как окно уже переместилось, и, таким образом, любые изменения положения окон, которые я делаю в этом событии, заставляют окно отпрыгивать назад, что выглядит очень непрофессионально.
Есть ли событие, которое я могу поймать, которое запускается ДО того, как окно будет фактически перемещено. Я пробовал MouseMove и PreviewMouseMove, но они не срабатывают во время DragMove.
Этот материал отлично работает с WinForms.
У кого-нибудь есть решение для этого, или это просто из-за полусырого характера и состояния WPF?