【问题标题】:How do I force the update of a DataGrid row when return key is pressed按下返回键时如何强制更新 DataGrid 行
【发布时间】:2015-01-06 17:42:49
【问题描述】:

我有一个 WPF DataGrid 绑定到 ObservableCollection 点。我在视图模型中有一个处理程序,当在DataGrid 中编辑一个点时更新模型,另一个处理程序在触发CollectionChanged 事件和args.Action == NotifyCollectionChangedAction.Add 时自动向集合添加一行。

当用户通过单击空行的第一列添加行时,会出现我的问题。该行将被自动填充,并且光标将设置为编辑第一列中的值。用户希望能够立即编辑该值并按回车键更新DataGrid,但它不起作用。编辑点时触发的处理程序不会触发,因此模型中的数据不会更新。要编辑这个新行,用户必须先离开,然后重新输入。我的用户不会喜欢这样的。

为了解决这个问题,我在视图中添加了一个OnPreviewKeyDown 处理程序。我都试过了

dataGrid.CommitEdit();

dataGrid.CommitEdit(DataGridEditingUnit.Row, true);

但我仍然无法更新数据网格。任何帮助将不胜感激。

【问题讨论】:

    标签: wpf datagrid


    【解决方案1】:

    我找到了这里发布的解决方案

    http://www.sirentuan.com/3034640/codep1/wpf-datagrid-source-updating-on-cell-changed

    我只是在每一列上使用了UpdateSourceTrigger=LostFocus,这比我尝试做的要简单得多。

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 2014-07-09
      • 2012-05-06
      • 1970-01-01
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      相关资源
      最近更新 更多