【问题标题】:C# WPF DragMove without Window_LocationChanged()没有 Window_LocationChanged() 的 C# WPF DragMove
【发布时间】:2010-10-19 10:35:25
【问题描述】:

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

当切换到 WPF 时,我发现 this thread 在实现相同结果方面很有用。

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

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

【问题讨论】:

    标签: c# wpf window drag


    【解决方案1】:

    这些使用 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 了解更多信息。

    【讨论】:

    • 很有趣,这在 WindowsForms 中很容易... :\
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2015-08-12
    • 2012-07-27
    • 2018-01-07
    相关资源
    最近更新 更多