gpt4 book ai didi

没有 Window_LocationChanged() 的 C# WPF DragMove

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:45 26 4
gpt4 key购买 nike

我在 Windows 窗体中实现了类似于 DragMove 的东西,但边界设置为主屏幕边距的 10 个单位。

切换到 WPF 时,我发现了 this thread有助于实现相同的结果。

但是,由于这是一个移动后事件,如果我的窗口被拖到我设置的边界之外,它就会“跳”回去。我想避免这种效果,因为它看起来很糟糕。

有没有一种简单的方法可以避免在不使用 LocationChanged 事件的情况下将窗口移出给定区域?我基本上想限制窗口的移动之前它发生。

最佳答案

这些很难用 WPF 实现,因为它不像 WinForms 那样公开基本的 Win32 函数和事件。我有一个项目需要调整窗口大小,我必须使用 PInvoke SetWindowPos 以正常方式执行此操作。

AddHook 可能会对您有所帮助,但这仍然相当困难。参见 http://www.wpfmentor.com/2009/01/how-to-get-hwnd-and-hook-into-wndproc.htmlhttp://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsource.addhook.aspx获取更多信息。

关于没有 Window_LocationChanged() 的 C# WPF DragMove,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com