wpf - 主/详细 UI 最佳实践?

标签 wpf user-interface wpfdatagrid master-detail

我们有一个 WPF 应用程序,它有一个主窗口/详细信息窗口,两者都是 WPF 数据网格。当您在上部数据网格中选择一行时,详细信息将显示在下部数据网格中。我想知道从 UI 的角度来看是否有任何关于如何处理诸如以下事情的最佳实践:

  1. 当窗口第一次打开时,上方数据网格中没有数据行被选中,因此下方网格中无法显示任何数据。这是正常的吗?或者通常在上部数据网格中选择了初始(顶部)行?
  2. When a row is selected and then deleted - does another row become the selected row?还是要进入无行选择状态?
  3. 如果可以选择多行,下层数据网格什么时候发生?显示最后一个选择?或者如果为这多个对象选择了删除,焦点设置在哪里?或者选择哪一行?

我知道根据应用程序的编写方式,这些事情可能有很多不同的处理方式,但我想知道是否有一些标准的最佳做法?或者 WPF 数据网格是否有一些默认操作可以处理这些情况?

谢谢! 账单

最佳答案

我认为前两个考虑因素可以归结为偏好。我更喜欢在窗口首次打开时选择第一行并显示其详细信息——作为用户,这告诉我这个窗口是如何工作的。不确定它在 WPF 中是如何工作的,但在 Windows 窗体中,datagridview 默认情况下预选了第一行(并让它停止这样做需要一些技巧)。

当我删除一行时,我个人更喜欢进入“未选择行”状态,但在“这就是你应该这样做的原因”方面我没有太多支持。我只是喜欢看到空的“详细信息” View 和缺少选择,以此确认我已成功删除所选行。

不过,我认为最后一点更为明确。如果 View 中存在主/从关系,则不应允许多项选择。如果您需要用户能够对主 GridView 的多行执行操作,您可以向行添加一些复选框以允许用户选择要操作的行子集。但为了显示详细信息,一次只能选择一行。

关于wpf - 主/详细 UI 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417417/

相关文章:

c# - Wpf:MediaElement 暂停并再次播放禁用速度比

c# - 以斜线为背景的形状

user-interface - 您什么时候先设计 GUI,然后再设计后端代码,反之亦然?

c# - 当其他单元格更改时更新 DataGrid 中的单元格

wpf - 在 WPF DataGrid 为空时显示 "No record found"消息

wpf - 如何清除(WPF)DataGrid 中的单元格(使其获得 NULL 值)?

.net - 依赖属性错误

WPF 状态栏,拉伸(stretch)文本 block 以占用尽可能多的空间

c++ - 将 GUI 工具包链接到 C++ 输入

java - 使单击制表符正确更改插入符号