在 Windows 应用中, 命令元素 是交互式 UI 元素,允许用户执行诸如发送电子邮件、删除项目或提交表单等作。 命令接口 由常见的命令元素、托管它们的命令图面、它们支持的交互以及它们提供的体验组成。
提供最佳命令体验
命令界面的最重要方面是你希望用户实现的目的。 规划应用的功能时,请考虑完成这些任务所需的步骤以及要启用的用户体验。 完成这些体验的初始草稿后,可以就工具和交互做出决策来实现这些体验。
下面是一些常见的命令体验:
- 发送或提交信息
- 选择设置和选项
- 搜索和筛选内容
- 打开、保存和删除文件
- 编辑或创建内容
创造性地设计命令体验。 选择应用支持哪些输入设备,以及应用对每个设备的响应方式。 通过支持最广泛的功能和首选项,使你的应用尽可能可用、可移植和可访问(有关详细信息,请参阅 Windows 应用的命令设计 )。
选择正确的命令元素
在命令界面中使用正确的元素可以区分直观、易于使用的应用和难以混淆的应用。 Windows 应用中提供了一组全面的命令元素。 下面是一些最常见的 UWP 命令元素的列表。
按钮
按钮 触发即时操作。 示例包括发送电子邮件、提交表单数据或确认对话框中一个动作。
列表
列表 将项目呈现在交互式列表或网格中。 通常用于许多选项或显示项。 示例包括下拉列表、列表框、列表视图和网格视图。
选择控件
允许用户从几个选项中进行选择,例如完成调查或配置应用设置时。 示例包括 CheckBox、 RadioButton 和 切换开关。
日历、日期和时间选取器
日历、日期和时间选取器 使用户能够查看和修改日期和时间信息,例如创建事件或设置警报。 示例包括日历日期选取器、日历视图、日期选取器、时间选取器。
预测性文本输入
提供用户在键入时的建议,例如在输入数据或执行查询时。 示例包括 AutoSuggestBox。
欲了解完整列表,请参阅 控件和 UI 元素
将命令放在右侧图面上
可以将命令元素放置在应用中的多个图面上,包括应用画布或特殊命令容器,例如命令栏、命令栏浮出控件、菜单栏或对话框。
始终尝试让用户直接操作内容,而不是通过对内容执行操作的命令。比如通过拖放来调整列表项的顺序,而不是使用上下命令按钮。
但是,这在使用某些输入设备或满足特定用户的能力和偏好时可能无法实现。 在这些情况下,请尽可能多地提供指令功能,并将这些命令元素放置在应用中的命令界面上。
下面是一些最常见的命令界面的列表。
应用画布(内容区域)
如果用户不断需要命令来完成核心方案,请将其放在画布上。 由于可以将命令置于它们受影响的对象附近(或位于其上),因此在画布上放置命令可以方便且明显地使用。 但是,请仔细选择放在画布上的命令。 应用画布上的命令过多占用了宝贵的屏幕空间,可能会使用户不知所措。 如果命令不经常使用,请考虑将其置于另一个命令界面中。
菜单和上下文菜单
菜单和上下文菜单通过组织命令并隐藏它们来节省空间,直到用户需要它们。 用户通常通过单击按钮或右键单击控件来访问菜单或上下文菜单。
CommandBarFlyout 是一种上下文菜单类型,它将命令栏和上下文菜单的优点合并到单个控件中。 它可以提供常用作的快捷方式,并提供对仅在某些上下文(如剪贴板或自定义命令)中相关的辅助命令的访问权限。
UWP 还提供一组传统的菜单和上下文菜单;有关详细信息,请参阅 菜单和上下文菜单。
提供命令反馈
命令反馈向用户传达了检测到交互或命令、命令解释和处理方式以及命令是否成功。 这有助于用户了解他们所做的事情以及接下来可以做的事情。 理想情况下,反馈应该自然地集成到 UI 中,因此用户不必中断或采取其他作,除非绝对必要。
注释
仅在必要时提供反馈,并且仅在其他位置不可用时才提供反馈。 除非要添加值,否则请保持应用程序 UI 干净且整洁。
下面是在应用中提供反馈的一些方法。
命令栏
命令栏的内容区域是向用户传达状态的直观位置(如果他们希望看到反馈)。
弹出窗口
浮出控件 是轻量级上下文弹出窗口,可通过点击或单击浮出控件外部的某个位置来消除这些弹出窗口。
小窍门
请注意你的应用使用确认对话框的数量;当用户犯错误时,它们非常有用,但每当用户尝试故意执行作时,它们都是一个障碍。
何时确认或撤销操作
无论应用程序的用户界面设计得多么好,所有用户都会执行一些他们希望没有执行的操作。 应用可以通过要求确认操作或提供撤消最近操作的方法来应对这些情况。
对于无法撤消并产生重大后果的作,我们建议使用确认对话框。 此类操作的示例包括:
- 覆盖文件
- 关闭前不保存文件
- 确认永久删除文件或数据
- 进行购买(除非用户选择不要求确认)
- 提交表单,例如注册某项服务
对于可以撤消的作,提供简单的撤消命令通常就足够了。 此类操作的示例包括:
- 删除文件
- 删除电子邮件(不会永久)
- 修改内容或编辑文本
- 重命名文件
针对特定输入类型进行优化
有关优化特定输入类型或设备的用户体验的更多详细信息,请参阅交互入门。