在Windows 10(1803)上,如果WPF透明窗口覆盖它们,则所有应用程序都会丢失触摸或手写笔

如果我使用一个简单的空窗口创建一个新的WPF应用程序,如下面所示的代码,我发现WPF应用程序覆盖的所有应用程序都失去了触摸或手写笔反应。 只有在Windows 10升级到1803(10.0.17134.0)时才能重现此问题。

 

我写了另一个WPF应用程序来找出发生了什么。 所以我将一个StylusDown事件添加到Window,如下所示的代码:

 // This code is in another WPF application. private void OnStylusDown(object sender, StylusDownEventArgs e) { // Set a breakpoint here. } 

但是在我关闭顶部的透明WPF窗口之前,断点从未到达。

我将非常简单的代码推送到GitHub: dotnet-campus / TouchIssueOnWindows10.0.17134 。 克隆它可能会有所帮助。

为什么会发生这种情况以及如何解决? 任何回复表示赞赏。

更新

Microsoft已在.NET Framework 2018年8月质量汇总预览中解决了此问题。

  • 2018年8月30日-KB4346783(OS Build 17134.254)

解决了在具有透明覆盖窗口的Windows Presentation Foundation(WPF)应用程序中以不同方式处理触摸和鼠标事件的问题。


原版的

经过一个星期的调试,我终于找到了解决方案。

只需为Window添加ResizeMode="NoResize"属性,如下所示:

    

@lindexi已将此问题及此解决方案发布到他的post中。 如果您想了解有关此问题的更多信息,请阅读win10 17025 touch bug – lindexi了解更多详情。 (这篇文章是用多种语言编写的,所以即使忽略了未知的字符,你也不会错过任何内容。)

实际上,我仍然无法弄清楚为什么这个属性会有所帮助。

谁能解释这个问题的原因?