鼠标交互
针对触摸输入优化 Windows 应用设计,并在默认情况下获得基本鼠标支持。
鼠标输入最适合在指向和单击时需要精度的用户交互。 Windows 的 UI 自然支持这种固有精度,它针对触摸的不精确性进行了优化。
其中,鼠标和触摸输入分歧是触摸通过直接对这些对象执行的物理手势(如轻扫、滑动、拖动、旋转等)更紧密地模拟 UI 元素的直接操作的能力。 使用鼠标的操作通常需要一些其他 UI 功能,例如使用句柄调整或旋转对象的大小。
本主题介绍鼠标交互的设计注意事项。
UWP 应用鼠标语言
在整个系统中一致地使用一组简洁的鼠标交互。
术语 | 说明 |
---|---|
将鼠标悬停以学习 |
将鼠标悬停在元素上以显示更详细的信息或教学视觉对象(如工具提示),而无需承诺操作。 |
单击鼠标左键可执行主要操作 |
单击左键可调用其主操作(例如启动应用或执行命令)。 |
滚动以更改视图 |
显示滚动条以在内容区域中向上、向下、向左和向右移动。 用户可以通过单击滚动条或旋转鼠标滚轮来滚动。 滚动条可以指示内容区域中当前视图的位置(使用触摸平移显示类似的 UI)。 |
右键单击以选择和命令 |
右键单击以显示导航栏(如果可用)和具有全局命令的应用栏。 右键单击某个元素以选择它,并使用所选元素的上下文命令显示应用栏。
注意 当选择或应用栏命令不适合 UI 行为时,右键单击可显示上下文菜单。 但我们强烈建议对所有命令行为使用应用栏。
|
用于缩放的 UI 命令 |
在应用栏中(如 + 和 -)中显示 UI 命令,或按 Ctrl 并旋转鼠标滚轮,以模拟缩放的收缩和拉伸手势。 |
要旋转的 UI 命令 |
在应用栏中显示 UI 命令,或按 Ctrl+Shift 并旋转鼠标滚轮,以模拟旋转的轮次手势。 旋转设备本身可旋转整个屏幕。 |
单击左键并拖动以重新排列 |
单击左键并拖动元素以移动它。 |
单击左键并拖动以选择文本 |
在可选文本中单击左键,然后拖动以将其选中。 双击以选择一个单词。 |
鼠标输入事件
大多数鼠标输入可以通过所有 UIElement 对象支持的通用路由输入事件来处理。 这些设置包括:
- BringIntoViewRequested
- CharacterReceived
- ContextCanceled
- ContextRequested
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- DragStarting
- Drop
- DropCompleted
- GettingFocus
- GotFocus
- Holding
- KeyDown
- KeyUp
- LosingFocus
- LostFocus
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- NoFocusCandidateFound
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- PreviewKeyDown
- PreviewKeyUp
- RightTapped
- Tapped
但是,可以使用 Windows.UI.Input 中的指针、手势和操作事件来利用每个设备的特定功能(例如鼠标滚轮事件)。
示例:有关信息,请参阅我们的 BasicInput 示例。
视觉反馈指南
- 检测到鼠标时(通过移动或悬停事件),显示特定于鼠标的 UI 以指示元素公开的功能。 如果鼠标没有移动一定的时间,或者如果用户启动触摸交互,则让鼠标 UI 逐渐消失。 这样,UI 将保持干净且整洁。
- 不要将光标用于悬停反馈,元素提供的反馈已足够(请参阅下面的游标)。
- 如果元素不支持交互(如静态文本),请不要显示视觉反馈。
- 不要将焦点矩形与鼠标交互一起使用。 为键盘交互保留这些内容。
- 同时显示表示相同输入目标的所有元素的视觉反馈。
- 提供按钮(例如 + 和 -),用于模拟基于触摸的操作,例如平移、旋转、缩放等。
有关视觉反馈的更多常规指南,请参阅 视觉反馈指南。
游标
一组标准游标可用于鼠标指针。 它们用于指示元素的主要操作。
每个标准游标都有一个与之关联的相应默认图像。 用户或应用可以随时替换与任何标准游标关联的默认图像。 通过 PointerCursor 函数指定游标图像。
如果需要自定义鼠标游标:
- 对于可单击元素,始终使用箭头游标()。 请勿将指向手游标()用于链接或其他交互元素。 相反,请改用悬停效果(前面已述)。
- 将文本游标()用于可选文本。
- 当移动是主要操作(例如拖动或裁剪)时,使用移动游标()。 不要将移动游标用于主要操作是导航的元素(如“开始”磁贴)。
- 当对象可调整大小时,请使用水平、垂直和对角调整游标(、、、)。
- 在固定画布(如地图)内平移内容时,使用手掌型游标(,)。