例如,WinUI 应用会自动处理各种输入并在各种设备上运行-例如,无需执行任何额外的操作即可启用触摸输入。 但是,有时你可能希望针对某些类型的输入或设备优化应用。 例如,如果要创建绘画应用,可能需要自定义处理笔输入的方式。
本部分中的设计和编码说明可帮助你为特定类型的输入自定义 WinUI 应用。
在 WinUI 3 桌面应用中使用Windows 运行时输入 API
WinUI 3 桌面应用可以直接使用大多数 Windows 运行时(WinRT)API,包括来自 Windows.Devices.Input、Windows.Gaming.Input 和 Windows.UI.Input 命名空间的许多与输入相关的 API。 无需生成 UWP 应用来访问这些功能。
需要注意以下几点:
-
适用于任何 WinUI 3 应用 - 指针属性(压力、倾斜、桶按钮)、设备检测、游戏板硬件访问(
Windows.Gaming.Input)和触摸/鼠标输入均无需特殊配置。 - 需要包标识 (MSIX) - 某些 API(例如 SpeechRecognizer 和 SpeechSynthesizer)要求应用具有 包标识。 默认的 WinUI 3 项目模板使用 MSIX 打包,因此大多数应用会自动满足此要求。
-
仅限 UWP — 依赖于 ApplicationView、 CoreWindow 或
GetForCurrentView模式的 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 |
|---|---|
| 演讲 | 将语音识别和文本转语音直接集成到应用的用户体验中。 需要包标识。 |
| 触觉 | 添加触摸反馈来强化用户输入,并创建响应更直观的交互。 |