在wpf datagrid中如何获取空白行?即当用户想要添加新行时,它总是位于底部.但我希望它能在最前面......我可以在XAML中做到这一点吗?
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或更高版本.
这个答案很大程度上取决于您如何绑定 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)