我有多个窗口的 C# WPF 程序。我添加了对 Windows 10 桌面的支持,但用户希望在桌面之间移动时某些窗口留在屏幕上。
例如,如果在第一个桌面上打开窗口 A 并且他们翻转到第二个桌面,他们希望窗口 A 保持在新桌面上的相同位置。
我知道的唯一功能来自 VirtualDesktopManager:
GetWindowsDesktopId()
IsWindowOnCurrentVirtualDesktop()
MoveWindowToDesktop()
有没有办法做到这一点?
还有一种方法可以检测何时启动桌面翻转?因为如果是这样,我总是可以调用 IsWindowOnCurrentVirtualDesktop(),如果答案是否定的,我可以调用 MoveWindowToDesktop() 将它放在那里。看起来有点像黑客,但如果我有办法检测到桌面变化,就可以完成工作。