命令基础知识

在 Windows 应用中,命令元素是使用户能够执行诸如发送电子邮件、删除项或提交表单等操作的交互式 UI 元素。 命令界面包含常见命令元素、托管它们的命令图面、它们支持的交互,以及它们提供的体验。

提供最佳命令体验

命令界面最重要的方面是你尝试让用户完成的东西。 在规划应用的功能时,请考虑好完成这些任务的必需步骤,以及需要启用的用户体验。 完成这些体验的初稿后,即可确定实现这些体验所需的工具和交互。

下面是一些常见的命令体验:

  • 发送或提交信息
  • 选择设置和选项
  • 搜索和筛选内容
  • 打开、保存和删除文件
  • 编辑或创建内容

在设计命令体验时要有创意。 选择应用支持的输入设备,以及应用响应每个设备的方式。 通过支持最广泛范围的功能和首选项,尽可能提高应用的可用性、可移植性和可访问性(如需更多详细信息,请参阅 Windows 应用的命令控制设计)。

选择适当的命令元素

若要区分直观的易用应用与令人费解和困惑的应用,一条标准是能否在命令界面中使用适当的元素。 Windows 应用中提供广泛的命令元素。 下面列出了一些最常见的 UWP 命令元素。

button image

按钮

按钮触发即时操作。 示例包括发送电子邮件、提交表单数据或在对话框中确认某个操作。

list image

列表

列表显示交互式列表或网格中的项。 通常用于许多选项或显示项。 示例包括下拉列表、列表框、列表视图和网格视图。

selection control image

选择控件

使用户在特定情况下(例如,当完成一项调查或配置应用设置时)能够从几个选项中进行选择。 示例包括复选框单选按钮切换开关

Calendar image

日历、日期和时间选取器

日历、日期和时间选取器使用户可以在特定情况下(例如在创建事件或设置闹钟时)查看和修改日期和时间信息。 示例包括日历日期选取器、日历视图、日期选取器、时间选取器。

Predictive text entry image

预测文本输入

在用户键入时(例如,在输入数据或执行查询时)提供建议。 示例包括自动建议框

有关完整列表,请参阅控件和 UI 元素

将命令放置在合适的图面上

可以将命令元素放置在应用中的各种图面上,包括应用画布或特殊命令容器(例如命令栏、命令栏浮出控件、菜单栏或对话框)。

始终尝试让用户直接操作内容而不是通过命令来操作内容,例如,让用户通过拖拉来重新排列列表项,而不是通过向上和向下命令按钮这样做。

不过,在某些输入设备中可能无法这样做;在需要适应特定的用户功能和首选项时,可能也无法这样做。 在这些情况下,请尽可能多地提供命令控制,并将这些命令元素置于应用的命令图面上。

下面列出了一些最常见的命令图面。

app canvas image

应用画布(内容区域)

如果用户始终需要一个命令来完成核心方案,则可将该命令置于画布上。 由于你可以将命令放在其影响的对象附近(或放在这些对象上),将命令放置在画布上将使它们显而易见,易于使用。 但是,请谨慎选择放置在画布上的命令。 应用画布上的命令过多将占用大量宝贵的屏幕空间,可能会使用户不知所措。 如果命令不经常使用,请考虑将它放在另一个命令图面中。

commandbar image

命令栏和菜单栏

[命令栏](../controls/command-bar.md 帮助组织命令并使它们易于访问。 命令栏可以放置在屏幕顶部和/或屏幕底部(当应用中的功能对于命令栏来说太复杂时,也可使用 MenuBar)。

context menu image

菜单和上下文菜单

菜单和上下文菜单通过在用户不需要使用时对命令进行组织和隐藏,从而节省空间。 用户通常通过单击按钮或右键单击控件的方式来访问菜单或上下文菜单。

命令栏浮出控件是一种上下文菜单,它将命令栏和上下文菜单的优点结合到了单个控件之中。 可以使用它快速访问常用操作并访问辅助命令(仅在某些上下文中是相关的),例如剪贴板或自定义命令。

UWP 还提供一组传统菜单和上下文菜单;有关详细信息,请参阅菜单和上下文菜单

提供命令反馈

命令反馈告知用户:检测到了交互或命令、命令是如何解释和处理的,以及命令是否成功。 这可以让用户了解他们做了什么,以及他们下一步可以做什么。 理想的情况下,应该在 UI 中自然地集成反馈,这样用户就不必被打断或采取额外行动(除非绝对有必要)。

注意

只有在必要且其他地方不提供反馈的情况下才提供反馈。 使应用程序 UI 保持整洁,除非要添加值。

下面是几种在应用中提供反馈的方法。

commandbar content area image

命令栏

命令栏的内容区域是一个直观位置,可在用户希望看到反馈时将状态传达给用户。

Flyout image

浮出控件

浮出控件是轻型上下文弹出窗口,可以通过点击或单击浮出控件之外的某个位置来消除。

Dialog image

对话框控件

对话框控件是用于提供上下文应用信息的模式 UI 覆盖。 在大部分情况下,除非明确取消对话框,否则它会阻止与应用窗口的交互,并且通常会请求用户执行某类操作。 对话框可以中断,并且只应在某些情况下使用。 有关详细信息,请参阅何时确认或撤消操作部分。

提示

请务必注意你的应用使用确认对话框的频率;当用户犯错时,这些对话框十分有用,但每当用户有意尝试执行某个操作时,这些对话框反而是障碍。

何时确认或撤消操作

无论应用程序 UI 的设计如何精良,所有用户都会在执行操作时犯错。 在这些情况下,应用可以通过以下方式提供帮助:要求确认某个操作,或提供一种用于撤消最近操作的方法。

对于不能撤消且会产生严重后果的操作,我们建议使用确认对话框。 此类操作的示例包括:

  • 覆盖文件
  • 未在关闭文件之前保存该文件
  • 确认永久删除文件或数据
  • 购买(除非用户选择不需要确认)
  • 提交表单,如进行注册时

对于可以撤消的操作,通常只需提供一个简单的撤消命令。 此类操作的示例包括:

  • 删除文件
  • 删除电子邮件(非永久)
  • 修改内容或编辑文本
  • 重命名文件

针对特定输入类型进行优化

有关优化特定输入类型或设备的用户体验的详细信息,请参阅交互入门