有时绑定后引发的DataGrid CellEditEnding事件

时间:2014-01-24 19:52:21

标签: c# wpf datagrid

我有一个绑定到项目集合的WPF DataGrid。在后面的代码中,我订阅了CellEditEnding事件:

dg.CellEditEnding += dg_CellEditEnding;

我希望在绑定对象中更新更新的值之前引发此事件。但似乎有时它确实存在,有时却没有。如果我更改网格中的值并按Enter键,则首先引发事件,然后引发要更新的绑定对象。如果我按Tab键,或者单击同一行中的另一个单元格,则会反向发生。

为什么会这样?我需要一种方法来查看更改的值,然后将其应用于绑定对象。我可以订阅另一个活动吗?我意识到这不是传统的MVVM方法。这是自定义数据网格控件的一部分,其中一些要求很难在视图模型中实现。

1 个答案:

答案 0 :(得分:0)

您可以将同一个主体用于“LostFocus”事件的CellEditEnding事件。这样,当您离开单元格时也会发生完成编辑时想要发生的任何事情。

至少,我希望它能起作用。尝试一下,让我知道!

如果你不认为LostFocus可以用于你正在寻找的东西,那么这里是datagridcells的所有事件的link