【问题标题】:Wpf Animation SetWindowPosWpf 动画 SetWindowPos
【发布时间】:2019-03-28 13:26:08
【问题描述】:

所以我有一个 WPF 应用程序,在某些情况下,当事件发生时,我使用 WPF 窗口句柄上的本机 SetWindowPos 将其置于前面或发送到后台。 通常当调用 SetWindowPos 时,窗口中的视觉内容也会发生变化。 在某些情况下,视觉内容不会改变,直到鼠标移到窗口上或出现输入事件(鼠标单击或类似事件)。 那么问题是这是否与 SetWindowPos 函数有某种关联?

完整调用示例

    User32.SetWindowPos(SHELL_HWND, HWND.HWND_BOTTOM, 0, 0, 0, 0, SWP.SWP_NOSIZE | SWP.SWP_NOACTIVATE | SWP.SWP_NOMOVE);
    User32.SetWindowPos(SHELL_HWND, HWND.HWND_TOPMOST, 0, 0, 0, 0, SWP.SWP_TOPMPOST);

【问题讨论】:

  • SWP_TOPMPOST 是什么? SetWindowPos 上似乎没有这个标志。
  • 确实我删除了它,但事实并非如此,我认为问题是我正在使用的自定义控件之一。与调整主窗口大小的 SetWindowPos 结合使用会导致此问题。

标签: c# wpf winapi


【解决方案1】:

看来问题出在自定义控件阻塞了 UI 线程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-30
    • 2013-11-23
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2011-09-21
    • 2010-11-17
    • 2016-07-31
    相关资源
    最近更新 更多