.net 如何使透明的WPF窗口位于所有其他窗口之上,但不影响用户输入?

.net 如何使透明的WPF窗口位于所有其他窗口之上,但不影响用户输入?,.net,wpf,xaml,event-handling,inkcanvas,.net,Wpf,Xaml,Event Handling,Inkcanvas,我正在尝试开发一个Windows应用程序,允许人们“在屏幕上画画” 我正在开发: .NET 3.5 C#/WPF 我有一个WPF窗口,它承载一个InkCanvas,两者都有透明的背景 窗口XAML属性: ShowInTaskbar="True" ResizeMode="NoResize" Background="Transparent" WindowStyle="None" AllowsTransparency="True" Topmost="True" Background="#11FFFF

我正在尝试开发一个Windows应用程序,允许人们“在屏幕上画画”

我正在开发:

.NET 3.5 C#/WPF

我有一个WPF窗口,它承载一个InkCanvas,两者都有透明的背景

窗口XAML属性:

ShowInTaskbar="True" ResizeMode="NoResize" Background="Transparent"
WindowStyle="None" AllowsTransparency="True" Topmost="True"
Background="#11FFFFFF"
InkCanvas属性:

ShowInTaskbar="True" ResizeMode="NoResize" Background="Transparent"
WindowStyle="None" AllowsTransparency="True" Topmost="True"
Background="#11FFFFFF"
我需要以下事件的事件处理程序: -在窗口中的任意位置单击鼠标右键 -新闻逃逸

预期结果: -WPF窗口保持在所有其他窗口的顶部,但不再处于活动状态,不再接受输入 -WPF窗口可以不再被关注。来自用户的所有输入都应该转到他们当前的焦点窗口,忽略带有inkcanvas的wpf窗口,inkcanvas位于所有内容之上

基本用法示例: 应用程序的用户正在玩游戏。他们停下来在wpf窗口/inkcanvas中绘制一些箭头。他们最后按了退出键。wpf窗口保持在顶部,用户绘制的形状打开,用户的输入返回到他们打开/聚焦的任何窗口

到目前为止,我已经尝试过:

MouseRightButtonUp ::   

mywindow.isenabled = false
我试过:

mywindow.IsInputMethodEnabled = false
到目前为止,wpf窗口还没有工作,它仍然开始抓取用户输入。我需要将此窗口设置为显示,但不激活它。。即使在它被“使用”了一段时间之后


提前感谢您的建议

您可以截取WndProc(使用HwndSource的AddHook,如图所示),截取并返回HTTRANSPARENT。但这只会让它传递到该线程中的其他窗口。另一个选项可能是设置WS_EX_透明扩展样式位。有关示例,请参见

谢谢,我们今天将尝试这个方向,并将向您介绍最新情况。@AlexanderPerls已经有一段时间了,您找到解决方案了吗?