【发布时间】:2013-09-04 08:08:12
【问题描述】:
我正在开发一个派生自 WPF Window 类的类,该类的行为类似于名为 AppBarWindow 的应用程序工具栏窗口。我已经能够找到各种 WinForms 实现,但没有 WPF 实现。
我已经编写了很多代码,但我需要知道用户何时开始在屏幕上拖动窗口以及何时停止,因为窗口的行为会有所不同。默认的 WPF 处理不太正确,所以我实现了自己的窗口过程并使用HwndSource 对象安装它。
我在一个没有非客户区的应用程序中工作。在这种情况下,有一个 LeftMouseButtonDown 事件处理程序将标志设置为 true,然后调用 DragMove 方法来拖动窗口。当该方法返回时,我将标志设置为 false。一切正常。
但我现在正在研究一个不会使用DragMove 方法的通用类。我可以为窗口添加另一个 LeftMouseButtonDown 处理程序,但我不相信如果鼠标在非客户区,它会被调用。
在这种情况下,我将如何检测用户正在拖动窗口以及何时停止?
【问题讨论】: