在wpf datagrid中如何获取空白行?

ked*_*dar 5 wpf datagrid

在wpf datagrid中如何获取空白行?即当用户想要添加新行时,它总是位于底部.但我希望它能在最前面......我可以在XAML中做到这一点吗?

woo*_*iii 8

NewItemPlaceholderPosition.AtBeginning怎么样?我没有代码示例,但这似乎是您所描述的.您可以随时执行Johan建议的操作,并以编程方式对网格中的项目进行移动或排序.

Ray Burns添加的代码示例:

var view = CollectionView.GetDefaultCollectionView(EmployeeList)
             as IEditableCollectionView;
if(view!=null)
  view.NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtBeginning;
Run Code Online (Sandbox Code Playgroud)

请注意,这需要.NET Framework 3.5或更高版本.

  • .GetDefaultCollectionView 不是 CollectionView 类 (4.0) 上的方法。CollectionViewSource.GetDefaultView(object) 是同一件事吗? (2认同)

Ran*_*pho 0

这个答案很大程度上取决于您如何绑定 DataGrid,特别是 ItemsSource 的基础类型是什么。这个答案假设您正在使用ObservableCollection。由于您具体提到了 WPF,我还假设您指的是 .NET 4.0,因为 DataGrid 仅在 Silverlight 3 和 .NET 4.0 中可用。

我假设您正在通过调用来新建一行

ItemSource.Add(new MyObject());
Run Code Online (Sandbox Code Playgroud)

要获得您想要的行为,请改用以下命令:

ItemSource.Insert(0, new MyObject());
Run Code Online (Sandbox Code Playgroud)