DataGrid 重新定位将新行添加到顶部

2023-12-12

在 DataGridview 中,空白行添加条目很方便,但当列表很大时很快就会丢失。您可以将其默认位置从 DataGrid 视图的底部更改为顶部吗?


我很少用过DataGrid并且对其添加行的能力一无所知,但从 WPF/MVVM 的角度来看,您无论如何都不需要它。通常在WPF/MVVM中,我们操作数据而不是UI控件,因此解决方案很简单。首先我们Bind我们收集的数据(无论我们选择什么形式)DataGrid.ItemsSource财产:

public ObservableCollection<DataItem> SomeDataCollection { get; set; }

...

<DataGrid ItemsSource="{Binding SomeDataCollection}" ... />

现在,如果我们想添加一个新项目到底部DataGrid我们可以在代码隐藏/视图模型中执行此操作:

SomeDataCollection.Add(new DataItem());

然后,如果我们想将一个新项目添加到集合的开头,我们可以这样做:

SomeDataCollection.Insert(0, new DataItem());

当然,您需要实施INotifyPropertyChanged在您的代码隐藏/视图模型中添加接口以使其工作,但(希望)您无论如何都会这样做。


更新>>>

抱歉,我误会你了。我找到了一个NewItemPlaceholderPosition枚举在 MSDN 上,由ItemCollection.IEditableCollectionView.NewItemPlaceholderPosition财产。不幸的是,这些链接的页面没有代码示例,所以我在在wpf datagrid中如何获得顶部的空白行?在 StackOverflow 上发布。来自@woodyiii在那篇文章中的回答:

var view = CollectionView.GetDefaultCollectionView(EmployeeList)
             as IEditableCollectionView;
if(view!=null)
  view.NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtBeginning;

这确实意味着您必须使用CollectionView让它发挥作用,但这似乎是唯一的方法......NewItemPlaceholderPosition除了各种之外,枚举不被任何其他东西使用CollectionView类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DataGrid 重新定位将新行添加到顶部 的相关文章

随机推荐

  • (git tfs fetch)TF400324:Team Foundation 服务不可用,底层连接已关闭

    我使用 git tfs 已经快 5 年了 然后有一天我在运行时遇到以下错误git tfs fetch TF400324 Team Foundation services are not available from server https
  • 如何在低于 KitKat 的 Android 版本的 Android WebView 中重置代理?

    我使用以下 2 种方法在 Android WebView 中为 Android 版本 ICS 和 JB 设置代理 但我无法重置 删除这两个版本的代理 如何重置 删除通过这些方法设置的代理 For ICS private static boo
  • 使用 Perl 获取 WMI 内存值

    我需要使用WMI收集Windows操作系统的内存数据 从这个意义上说 我开发了一个 Perl 脚本来生成此类数据 但是 我想知道我的方法是否正确以及有哪些替代方案 收集数据的方法旨在尽可能广泛地应用于 Windows 操作系统 如果你不是一
  • 信中信,模式识别

    我想检测这种模式 正如您所看到的 它基本上是一个字母 C 位于另一个字母内部 具有不同的方向 我的模式可以相互包含多个 C 我发布的带有 2 个 C 的模式只是一个示例 我想检测有多少个 C 以及每个 C 的方向 现在我已经成功地检测到了这
  • 如何检索用于编译给定 ELF 可执行文件的 GCC 版本?

    我想检索用于编译给定可执行文件的 GCC 版本 我试过readelf但没有得到信息 有什么想法吗 一般存放在评论区 strings a
  • Vagrant 端口转发不起作用。主机无法访问杯子

    所以我正在使用 vagrant 并尝试将其用作打印服务器 我安装了杯子 内部一切正常 我什至可以快速做一个curl到我的本地主机 631 我的流浪汉中的杯子端口 一切都有 问题是我无法以任何方式从主机尝试访问它 显然我转发了端口并且尝试了多
  • SQL从查询中的数据中选择该数据尚未在数据库中?

    我想在进行 Web 服务调用之前检查数据库中已记录的记录 这是我想象的查询的样子 我只是似乎无法弄清楚语法 SELECT FROM 1 2 3 4 as temp table WHERE temp table id LEFT JOIN ta
  • Objective-C:查找字符串中的数字

    我有一个包含单词和数字的字符串 如何从字符串中提取该数字 NSString str This is my string 1234 我希望能够将 1234 作为 int 去掉 每次我搜索该字符串时 该字符串都会有不同的数字和单词 Ideas
  • JavaScript - 获取图像特定区域的平均颜色

    我需要使用以下命令从图像的矩形区域获取平均颜色JavaScript 我尝试使用tracking js但它不允许指定区域而不是单个像素 如果您需要获取单个像素的平均颜色 而不是矩形区域的颜色 请看一下另一个问题 鼠标悬停时从画布获取像素颜色
  • 为什么 Content-Disposition 标头在 IE 8 中不起作用?

    我正在尝试将文本文件 CSV 流式传输到响应 并且以下代码在 Firefox 3 中完美运行 但是当我使用 IE 时 它看起来想要下载实际的 aspx 页面 并抱怨该文件内容与文件扩展名或类型不匹配 如果我随后选择下载该文件 它会正确下载
  • 无法在“C”程序中打印欧元符号

    我无法打印欧元符号 我正在使用的程序如下 我已将字符集设置为代码页 1250其中 0x80 代表欧元符号 Program include
  • Android:旋转器上的 getSelectedItem 问题

    我有一个Spinner 并将所选项目放入邮件正文中 这是我的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedInstance
  • 文本不透明度渐变

    我希望使文本看起来在边缘淡出 这是我到目前为止所拥有的 struct ContentView View var body some View ZStack Color red Text Hello world blendMode lumin
  • Java 球衣 RESTful Web 服务请求

    我一直在关注有关宁静服务的教程 效果很好 不过 有些事情我还不太明白 它看起来是这样的 Path hello public class Hello This method is called if TEXT PLAIN is request
  • ftell/fseek 与 /sys/class 文件中实际可读数据长度不同

    嵌入式Linux系统 ls al sys class xxxx r r r 4096 ftell lstat st size 返回 4096 fread fp 1 4096 buf 返回 3 实际上 使用vi打开文件只有3个字节 有什么问题
  • [NSManagedObjectContext删除:]:无法识别的选择器发送到实例

    核心数据让我心烦意乱 我正在删除旧数据并希望插入从服务器收到的新数据 现在删除部分给出了 sigabort NSManagedObjectContext删除 无法识别的选择器发送到实例0x522f550 2013 09 27 14 05 5
  • 使用Sinon的假定时器时setTimeout未触发

    我有一个类似于下图所示的测试 基本上我想测试特定方法是否被延迟 以下示例按预期工作 即调用解析方法并且测试通过 it should delay execution by 1 second function const clock sandb
  • 类型错误:不可散列的类型

    我正在尝试获取元组列表的列表 类似 1 0 2 0 3 0 1 1 2 1 3 1 我用了这个声明 set a b for a in range 3 for b in range 3 但这给了我一个错误 TypeError unhashab
  • 使用 C#/.Net 时只读如何影响目录?

    我发现我可以写入 例如 将文件复制到 只读目录 也就是说 一个目录 Attributes FileAttributes ReadOnly 我什至可以改变它的名字 我发现唯一不能做的就是删除它 这真的是唯一的事情吗 ReadOnly防止 ED
  • DataGrid 重新定位将新行添加到顶部

    在 DataGridview 中 空白行添加条目很方便 但当列表很大时很快就会丢失 您可以将其默认位置从 DataGrid 视图的底部更改为顶部吗 我很少用过DataGrid并且对其添加行的能力一无所知 但从 WPF MVVM 的角度来看