内联工具栏可用性

时间:2010-07-06 04:45:18

标签: wpf usability

我有一个可以修改,保存和删除的实体,因此在窗口顶部有一个工具栏可以按下其中一个操作按钮。可以提交父实体。

但是,此实体还具有可以修改,保存和删除的子实体。在父实体屏幕上创建子实体的网格然后打开一个包含子实体值的新窗口(可以保存,删除等)是可用性最佳实践,还是我可以为这些子实体设置另一个工具栏。每个子实体都可以提交。

例如(内联):

//

[家长实体]

| ------------------工具栏-------------------- |

[新子实体] [保存] [删除] [提交]

| ------------------工具栏-------------------- |

[父实体字段]

[儿童实体网格]

| ------------------子实体工具栏-------------------- |

[保存] [删除] [提交]

| ------------------子实体工具栏-------------------- |

[儿童实体字段]

//

您可以从网格中选择一个子实体来设置子实体字段。

我目前将子实体作为一个单独的窗口,但我不喜欢有多个弹出窗口。是否有可用的弹出窗口指南?

由于

1 个答案:

答案 0 :(得分:1)

通常,最佳平衡是将父实体和子实体的网格放在同一页面上,同时为父网格和子网格编辑就地。顶部的单个菜单/工具栏适用于两个网格。这是与主 - 细节关系相当普遍的做法,例如您为应用描述的。例如,它由Windows资源管理器和Microsoft Outlook使用。

保存命令保存自上次保存以来的任何更改,无论是创建,修改还是删除父项,子项或混音。删除删除当前选择的任何内容 - 一个或多个父母,一个或多个孩子,或甚至属性内的选定文本(例如,文本框内容)。 New命令(或Create或Insert)为任何具有焦点的网格创建一个新的默认实体。此设计为用户提供:

  • 单个简单的命令集 - 例如,无需区分“提交”和“保存”。只需点击一下“保存即可”保证。

  • 最小的混乱和最少的冗余工具栏,允许用户通过最少的滚动或其他操作来查看和操作尽可能多的数据对象。

  • 最小的导航工作量和学习开销 - 无需学习单独的窗口(您正确想要避免的多个弹出窗口)或父子实体的命令。

  • 没有任何模式可以降低灵活性,破坏用户的流量或训练,甚至强制破坏他们的工作(例如,由于与另一个过时对象的密钥冲突,他们无法提交新对象,但是他们可以删除过时的对象,因为它们处于创建新对象的模式中。

主要缺点是用户可能会混淆工具栏命令当前应用的对象。当他们实际上删除了父母(及其所有孩子)时,你不希望他们认为他们正在删除孩子。为避免这种情况,您需要使用适当的图形设计:

  • 明确说明所选内容:实体中的整个父级,整个子级或属性。一次只能选择一件事。保持一致,通常使用相同颜色的反向视频(亮暗)对整个选定内容,并避免使用反向视频用于其他任何内容。考虑使用网格的当前记录标记或“object control”来区分选择实体(网格的整行)和行内的属性。

  • 区分活动父级和选定父级。活动父级是与您在子网格中显示的任何内容关联的父级。总有一个活跃的父母。所选父项是用户明确选择的父项(例如,通过单击对象控件或当前记录标记)来执行某些操作(例如删除)。可能有也可能没有选定的父母。可能存在多个选定的父母(例如,通过移位或控制点击)。通常,活动父级具有比选定父级更精细的图形。简单的当前记录标记(例如,左边距中的箭头)可能就足够了。查看文件管理器,例如Windows资源管理器(其中文件夹是父文件夹,文件是子文件),用于区分活动和选定文件的其他想法。

  • 可能使用动态工具栏控件标签备份这些图形。当父网格处于活动状态时,使用“删除[父类名称]”标记删除,并在子网格处于活动状态时标记删除。如果空间不允许这么多文本,请使用工具提示。

  • 包括一种清楚地指示当前网格的方法(这主要用于表示New将创建哪些实体)。网格或网格标题周围的增强边框可能就足够了。否则,强调网格标题(类似于活动窗口的标题)也可能是好的。

  • 提供撤消。如果用户在预定孩子时意外地吹走了父母,那么一次点击就可以扭转损害。无论如何,所有丰富的应用都应该撤消。如有必要,还包括删除父项或子项的警告(而不是删除实体属性的某些文本)。