缓解:基于指针的触摸和触笔支持

对于面向 .NET Framework 4.7 且在 Windows 10 创意者更新及更高版本的 Windows 上运行的 WPF 应用程序,可以启用基于 WM_POINTER 的可选 WPF 触控/触笔堆栈。

影响

如果开发人员没有显式启用基于指针的触摸/触笔支持,那么在 WPF 的触摸/触笔行为中应该不会看到任何变化。

下面介绍了可选的基于 WM_POINTER 的触控/触笔堆栈当前存在的已知问题:

  • 不支持实时墨迹书写。

    虽然墨迹书写和触笔插件仍然有效,但它们在 UI 线程上进行处理,这可能会导致性能不佳。

  • 从触控/触笔事件提升到鼠标事件方面的更改导致行为发生变化。

    • 控制行为可能不同。

    • 拖曳操作不会显示适当的触摸输入反馈。 (这不会影响触笔输入。

    • 无法再通过触控/触笔事件启动拖/放行为。

      这可能会导致应用程序在检测到鼠标输入之前变得无响应。 相反,开发者应通过鼠标事件启动拖放行为。

选择启用基于 WM_POINTER 的触控/触笔支持

希望启用此堆栈的开发人员可以将以下内容添加到其应用程序的 app.config 文件中。

<configuration>
    <runtime>
        <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.EnablePointerSupport=true"/>
    </runtime>
</configuration>

删除此条目或设置其值以 false 关闭此可选堆栈。

另请参阅