全屏应用程序的C#WPF覆盖?

全屏应用程序的C#WPF覆盖?,c#,wpf,visual-studio,overlay,fullscreen,C#,Wpf,Visual Studio,Overlay,Fullscreen,我正在制作一个应用程序来显示你按下的键,我想知道是否有一种方法可以将一些图像小部件覆盖在屏幕的顶部,这样即使在全屏模式下,它们也可以保持在顶部。我正在将WPF与Visual Studio一起使用。一个教程的链接或者一个例子的下载都会很有帮助 您还没有澄清是希望窗口小部件显示在所有窗口的顶部,还是仅显示在WPF窗口上 如果你想让它只出现在你的窗口上,那就看看它的用途 如果您希望它显示在所有窗口上,则使用它截取窗口的WM_SETFOCUS消息并调用SetWindowPos来设置HWND_TOPMOS

我正在制作一个应用程序来显示你按下的键,我想知道是否有一种方法可以将一些图像小部件覆盖在屏幕的顶部,这样即使在全屏模式下,它们也可以保持在顶部。我正在将WPF与Visual Studio一起使用。一个教程的链接或者一个例子的下载都会很有帮助

您还没有澄清是希望窗口小部件显示在所有窗口的顶部,还是仅显示在WPF窗口上

如果你想让它只出现在你的窗口上,那就看看它的用途


如果您希望它显示在所有窗口上,则使用它截取窗口的WM_SETFOCUS消息并调用SetWindowPos来设置HWND_TOPMOST标志。

小部件是否仍能在全屏模式下的应用程序上显示?是。我曾在多个生产环境中使用它来显示WPF窗口,这些窗口显示在系统上运行的所有其他应用程序之上,包括在全屏模式下运行的应用程序。我将Window Sinker类中的每个“HWND_BOTTOM”替换为“HWND_TOPMOST”。我尝试在我的窗口上使用它,方法是将以下内容放在window_Loaded
WindowSinker.WindowExtensions.SetSinker(???,最上面)对于问号,它向我询问依赖项对象。我在那里放了什么?我在答案中使用了WindowSinker类,没有任何更改。然后,在我需要保持在顶部的WPF窗口中,我创建了一个成员变量:
WindowSinker-sinker。最后,在该窗口的构造函数中,我做了
sinker=newwindowsinker(这个)
,然后是
sinker.Sink(),后跟通常的
初始化组件()。我成功了,谢谢!