代码之家  ›  专栏  ›  技术社区  ›  biasedbit

c wpf dragmove,不带窗口_locationChanged()。

  •  2
  • biasedbit  · 技术社区  · 15 年前

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

    当切换到WPF时,我发现 this thread 有助于达到同样的结果。

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

    是否有一种简单的方法可以避免在不使用 LocationChanged 事件?我基本上想限制窗户的移动 之前 它发生了。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Pieter van Ginkel    15 年前

    使用WPF很难实现这些功能,因为它不会像WinForms那样公开基本的win32函数和事件。我有一个项目,我需要调整窗口的大小,我必须使用pinvoke setwindowpos以一种正常的方式来完成这项工作。

    addhook可能对你有帮助,但这仍然是相当困难的。见 http://www.wpfmentor.com/2009/01/how-to-get-hwnd-and-hook-into-wndproc.html 和 http://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsource.addhook.aspx 更多信息。