如何使WPF DataGrid NewItemPlaceholder始终可见

时间:2018-07-20 10:51:35

标签: c# wpf datagrid

花了我几天时间找到这个简单问题的答案。我想这样做,以便在初始化新行时立即显示NewItemPlaceholder。

NewItemPlaceholder也称为空白行-用于将新项目添加到DataGrid的行。

将给出答案。

1 个答案:

答案 0 :(得分:0)

您还可以使用 e.NewItem 属性在 InitializingNewItem 回调方法中对新项目进行成形,以便在提交编辑时获得正确的项目。

InitializingNewItem 首先由 BeginningEdit 事件触发。 请注意,要使NewItemPlaceholder出现,您还应该将DataGrid绑定到具有可声明的默认构造函数的可编辑集合,并将 DataGrid.CanUserAddRows 属性设置为true。

private bool _justCreatedNewItem;
dataGrid.BeginningEdit += (o, e) =>
{
  if (_justCreatedNewItem)
  {
     dataGrid.CommitEdit(DataGridEditingUnit.Row, true);
     _justCreatedNewItem = false;
  }
};
dataGrid.InitializingNewItem += (o, e) => { _justCreatedNewItem = true; };