输入和交互

例如,WinUI 应用会自动处理各种输入并在各种设备上运行-例如,无需执行任何额外的操作即可启用触摸输入。 但是,有时你可能希望针对某些类型的输入或设备优化应用。 例如,如果要创建绘画应用,可能需要自定义处理笔输入的方式。

本部分中的设计和编码说明可帮助你为特定类型的输入自定义 WinUI 应用。

在 WinUI 3 桌面应用中使用Windows 运行时输入 API

WinUI 3 桌面应用可以直接使用大多数 Windows 运行时(WinRT)API,包括来自 Windows.Devices.InputWindows.Gaming.InputWindows.UI.Input 命名空间的许多与输入相关的 API。 无需生成 UWP 应用来访问这些功能。

需要注意以下几点:

  • 适用于任何 WinUI 3 应用 - 指针属性(压力、倾斜、桶按钮)、设备检测、游戏板硬件访问(Windows.Gaming.Input)和触摸/鼠标输入均无需特殊配置。
  • 需要包标识 (MSIX) - 某些 API(例如 SpeechRecognizerSpeechSynthesizer)要求应用具有 包标识。 默认的 WinUI 3 项目模板使用 MSIX 打包,因此大多数应用会自动满足此要求。
  • 仅限 UWP — 依赖于 ApplicationViewCoreWindowGetForCurrentView 模式的 API 在桌面应用中不可用。 这包括凝视跟踪(GazeInputSourcePreview)和输入注入(InputInjector)。 对于这些功能,UWP 参考文档仍然是最佳资源。

有关桌面应用中受支持和不支持的 WinRT API 的完整列表,请参阅桌面应用中支持的Windows 运行时 API

Tip

本节中链接到 UWP 文档的主题介绍了使用仅限 UWP 的 API 的功能。 即使 WinUI 3 桌面应用中没有直接提供的 API,仍可参考这些主题来获取设计指南和概念。

开始

主题 Description
输入指南 熟悉每个输入设备类型及其与某些外形规格配对时的行为、功能和限制。
凝视输入 根据用户眼睛和头部的位置和移动跟踪用户的凝视。 凝视 API 需要 UWP;请参阅链接的 UWP 参考。

输入设备

主题 Description
识别输入设备 标识连接到 Windows 应用设备的输入设备,并识别其功能和属性。
指针 从指向设备(如触摸、鼠标、笔/触笔和触摸板)接收、处理和管理输入数据。
笔和 Windows Ink 处理与触控笔相关的输入属性,例如压力、倾斜角度、筒状按钮以及橡皮擦检测。
Touch 处理触摸输入,实现用户可以自信探索的沉浸式体验。
鼠标 在应用中处理鼠标输入,包括按钮单击、滚轮和指针移动。
键盘 处理键盘输入,这是交互体验的重要组成部分,也是辅助功能不可或缺的一环。
游戏板和远程控制 针对 Xbox 游戏手柄和遥控器输入进行设计。 Windows.Gaming.Input API 可直接用于 WinUI 3 桌面应用;链接的 UWP 主题文章涵盖 10-foot 设计模式。
触摸板 处理触控板输入,该输入方式将间接多点触控输入与指点设备的精准度相结合。
多个输入 设计应用以尽可能多地使用输入类型,以最大限度地提高灵活性、可用性和辅助功能。
自定义文本输入 使用核心文本 API 从 Windows 设备上支持的任何文本服务、任何语言和任何输入类型接收文本输入。

交互

主题 Description
拖放 在应用中启用拖放交互。
平移 实现平移交互的准则。
轮换 实现旋转交互的指南。
选择文本和图像 选择和操作文本、图像和控件的指南。
定位 触摸定位和视觉反馈指南。
视觉反馈 在交互期间向用户提供视觉反馈。
光学缩放和调整大小 缩放和调整元素大小指南。

语音和反馈

主题 Description
演讲 将语音识别和文本转语音直接集成到应用的用户体验中。 需要包标识。
触觉 添加触摸反馈来强化用户输入,并创建响应更直观的交互。