【发布时间】:2015-01-06 17:42:49
【问题描述】:
我有一个 WPF DataGrid 绑定到 ObservableCollection 点。我在视图模型中有一个处理程序,当在DataGrid 中编辑一个点时更新模型,另一个处理程序在触发CollectionChanged 事件和args.Action == NotifyCollectionChangedAction.Add 时自动向集合添加一行。
当用户通过单击空行的第一列添加行时,会出现我的问题。该行将被自动填充,并且光标将设置为编辑第一列中的值。用户希望能够立即编辑该值并按回车键更新DataGrid,但它不起作用。编辑点时触发的处理程序不会触发,因此模型中的数据不会更新。要编辑这个新行,用户必须先离开,然后重新输入。我的用户不会喜欢这样的。
为了解决这个问题,我在视图中添加了一个OnPreviewKeyDown 处理程序。我都试过了
dataGrid.CommitEdit();
和
dataGrid.CommitEdit(DataGridEditingUnit.Row, true);
但我仍然无法更新数据网格。任何帮助将不胜感激。
【问题讨论】: