【发布时间】:2011-11-30 01:16:45
【问题描述】:
我有一个无边框的 WPF 窗口 (WindowStyle="None"),可以通过捕获 LeftMouseDown 然后调用 DragMove 来移动它。效果很好。
但是,我想防止窗口的任何部分离开屏幕区域。 我捕捉到 LocationChanged 但在窗口已经移动之后调用它,因此我在该事件中对窗口位置所做的任何更改都会导致窗口跳回,这看起来非常不专业。
在实际移动窗口之前,我是否可以捕获一个事件。 我尝试了 MouseMove 和 PreviewMouseMove,但在 DragMove 期间它们没有被触发。
这些东西在 WinForms 上运行良好。
是否有人对此有解决方案,或者这仅仅是由于 WPF 的半生不熟的性质和状态?
【问题讨论】: