如何在用户开始编辑当前行时自动向WPF DataGrid添加空白新行

时间:2011-02-28 12:46:02

标签: c# wpf datagrid

我与DataGrid绑定ObservableCollection<MydataObject> MyDatalist使用所有默认设置,如果用户在编辑单元格时更改焦点DataGrid(例如,单击button) ,DataGrid中显示的所有数据都包含用户正在编辑的数据存储到MyDatalist,这很好,但用户需要点击“Tab”(在最后一个单元格中)或“输入“以创建新行。

我希望DataGrid在用户开始编辑最后一行的任何单元格时自动生成一个新行。我尝试了CurrentCellChanged事件,我可以通过这样做自动创建新行:

void dataGrid1_CurrentCellChanged(object sender, EventArgs e)
{
     dataGrid1.CommitEdit(); 
}

然而,实现此功能后,如果用户在编辑单元格时从DataGrid更改焦点(例如,单击button),则用户正在编辑的焦点不会存储到{{1 ,如何在自动添加新行的情况下重新启用此功能?

1 个答案:

答案 0 :(得分:1)

好的,这是一个Binding.UpdateSourceTrigger Property设置,这解决了我的问题:

Binding="{Binding Path=field1, UpdateSourceTrigger=PropertyChanged}"