描述错误
带有精密触控板的设备上的 UWP 应用程序在您使用触控板用两根手指滚动时会感觉如丝般顺滑。 当您松开手指时,它会滑下页面并减慢速度,并在您触碰到末端时弹起。 这种体验在 UWP 中使用 WinUI 3 的 UWP 应用程序中继续。 然而,Win32 中的 WinUI 3 应用程序感觉非常不稳定,滚动不会滑动或反弹。
我在这里写的问题发生在精密触摸板上。 使用 Synaptics 触摸板(非精确),双指滚动在 WinUI 3 UWP 和 WinUI 3 Win32 中不稳定,基本上不起作用(请参阅单独的问题 https://github.com/microsoft/microsoft-ui- xaml/issues/2482)。
总结一下:
| 设备 | 没有 WinUI 的 UWP | UWP WinUI 3 | UWP Win32 |
| :-- | :-- | :-- | :-- |
| 精密触控板| ✅ 完美滚动 | ✅ 完美滚动 | ⚠低质量滚动|
| Synaptics 触控板| ✅ 完美滚动 | ⚠低质量滚动| 🛑 完全没有功能https://github.com/microsoft/microsoft-ui-xaml/issues/2482 |
| 滚轮| ✅ 完美滚动 | ✅ 完美滚动 | ✅ 完美滚动 | ✅ 完美滚动 |
| 触摸屏| ✅ 完美滚动 | ✅ 完美滚动 | ✅ 完美滚动 | ✅ 完美滚动 |
重现错误的步骤
重现行为的步骤:
预期行为
使用滚轮和触摸屏滚动(只需用鼠标拖动滚动条)都已按预期运行。 主要问题是 WinUI 3 Win32 应用程序没有使用精确触摸板的高质量滚动。 滚动在 WinUI 3 中对于 UWP 和 Win32 的感觉应该与在 UWP XAML 中对于精度和其他类似触摸板的感觉相同。
截图
| WinUI UWP | WinUI Win32 |
| :-: | :-: |
| 漂亮、流畅的精密触控板 | 使用精密触摸板时断断续续,无反弹效果|
版本信息
NuGet 包版本:
Microsoft.WinUI 3.0.0-preview1.200515.3
| Windows 10 版本 | 看到问题了吗? |
| :--------------------------------- | :-------------------- |
| 内幕构建 (xxxxx) | |
| 2019 年 11 月更新 (18363) | 是(经过测试的 Synaptics 触摸板) |
| 2019 年 5 月更新 (18362) | 是(经过测试的精密触摸板)|
| 2018 年 10 月更新 (17763) | |
| 2018 年 4 月更新 (17134) | |
| 秋季创作者更新 (16299) | |
| 创作者更新 (15063) | |
| 设备外形 | 看到问题了吗? |
| :-------------------- | :-------------------- |
| 桌面 | 是 |
| 手机 | |
| Xbox | |
| Surface Hub | |
| 物联网 | |
这、#2506 和 #2486 似乎相关,因为与在 Win32 进程中运行的 WinUI 元素的交互以 30 fps 呈现 - 或者 DWM 的呈现速率仅设置为 30。 @ranjeshj
就在你在这里的时候,我想提一下,你不能在任务管理器中水平滚动,而在 win32 应用程序中整体滚动很糟糕。 Microsoft 使用 win32,即使在 Teams 等新应用程序中也是如此,因此他们不能只是告诉您使用 WinUI 和 UWP。
在 XAML 岛中使用平台 XAML 更改鼠标滚轮处理程序中滚动查看器的缩放系数非常流畅,但在 winui3 桌面(预览版2)中非常不稳定
最有用的评论
就在你在这里的时候,我想提一下,你不能在任务管理器中水平滚动,而在 win32 应用程序中整体滚动很糟糕。 Microsoft 使用 win32,即使在 Teams 等新应用程序中也是如此,因此他们不能只是告诉您使用 WinUI 和 UWP。