鼠标交互
针对触摸输入优化 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 函数指定光标图像。
如果你需要自定义鼠标光标:
- 对于可单击的元素,始终使用 ) 。 不要将指针光标 () 用于链接或其他交互式元素。 而应使用悬停效果(上文中有介绍)。
- 将文本光标 () 用于可选文本。
- 使用移动光标 () 移动是主要操作 (如拖动或裁剪) 。 对于主要操作是导航的元素(如“开始”菜单磁贴),不使用移动光标。
- 当对象可调整大小时,请使用水平、垂直和对角线调整光标 (、 、对 () 。
- 在固定画布 ((如地图) )中平移内容时,使用抓取 () ) 。
相关文章
示例
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈