WINUI多点触控致程序崩溃

发布时间 2023-11-10 18:35:32作者: 盛沧海

开发的图像软件在在进行多点触摸测试时,出现了程序崩溃。查看了程序了日志,全局异常捕捉并未将这个异常捕捉到,并记录到崩溃日志里。

怀疑不是程序的编码问题,可能是由于其他原因造成所致。于是习惯性的打开事件查看器,查看应用程序相关日志,找到了一条应用程序崩溃事件:

 其详细信息如下:

从详细信息上看到崩溃的原因是由于Microsoft.InputStateManager.dll所致。

 

以下为此bug在github上的详细情况及修复方法(此bug在):

Simultaneous Mouse and multi-touch input Crash (CppWinRT) · Issue #7622 · microsoft/microsoft-ui-xaml (github.com)

 

对于github上提供的修复方法,在此做一个补充,单纯的升级项目中引用的Microsoft.WindowsAppSDK到1.4及以上会导致程序不能正常的的编译(并且即使将SDK退回原来的版本,同样也不能编译了)。

在没有办法的情况下,重新添加相应的UI项目,并将原来的代码copy到了新的UI项目中(注意变更命名空间,在APP中引入相应的自定义样式等资源,否则将导致不能正常编译或打开程序后异常)。