我正在研究WPF Window
類派生的類,該類的行爲與名爲AppBarWindow
的應用程序工具欄窗口類似。我已經能夠找到各種WinForms實現,但沒有WPF實現。確定何時移動WPF窗口
我有很多代碼可以工作,但我需要知道用戶什麼時候開始在屏幕上拖動窗口以及何時停止,因爲窗口的行爲會有所不同。默認的WPF處理不太正確,所以我實現了我自己的Window Procedure並使用HwndSource
對象進行安裝。
我已經在沒有非客戶區的工作應用程序中工作。在這種情況下,有一個LeftMouseButtonDown
事件處理程序將標誌設置爲true,然後調用拖動窗口的DragMove
方法。當該方法返回時,我將該標誌設置爲false。一切正常。
但我現在正在研究一個不會使用DragMove
方法的普通類。我可以爲該窗口添加另一個LeftMouseButtonDown
處理程序,但我不相信如果鼠標位於非客戶區域中,將會調用該處理程序。
我該如何檢測到用戶正在拖動窗口,以及在這種情況下何時停止?
不,它不會。正如我在問題中所說,「默認的WPF處理不太正確,所以我實現了我自己的Window Procedure」。我需要在那個級別進行處理。 'Window.LocationChanged'在這個過程中已經太晚了。我需要在WPF獲取消息之前處理它。 –