我有一个WPF DataGrid
绑定到ObservableCollection
点。我在viewmodel中有一个处理程序,它在DataGrid
中编辑一个点时更新模型,另一个处理程序在CollectionChanged
事件被触发时自动向集合添加一行{{1} }。
当用户通过单击空行的第一列添加行时,会出现问题。该行将自动填充,光标将设置为编辑第一列中的值。用户希望能够立即编辑该值并点击返回以更新args.Action == NotifyCollectionChangedAction.Add
,但它不起作用。编辑点时触发的处理程序不会触发,因此模型中的数据不会更新。要编辑此新行,用户必须先离开,然后重新输入。我的用户不喜欢这个。
为了解决这个问题,我在视图中添加了一个DataGrid
处理程序。我试过了两个
OnPreviewKeyDown
和
dataGrid.CommitEdit();
但我还是无法让datagrid更新。任何帮助将不胜感激。
答案 0 :(得分:0)
我发现此处发布的解决方案
http://www.sirentuan.com/3034640/codep1/wpf-datagrid-source-updating-on-cell-changed
我刚在每列上使用了UpdateSourceTrigger=LostFocus
,这比我试图做的要简单得多。