【发布时间】:2014-01-24 19:52:21
【问题描述】:
我有一个绑定到项目集合的 WPF DataGrid。在后面的代码中我订阅了 CellEditEnding 事件:
dg.CellEditEnding += dg_CellEditEnding;
我希望在绑定对象中更新更改的值之前引发此事件。但似乎有时会,有时不会。如果我更改网格中的值并按 Enter,则首先引发事件,然后更新绑定对象。如果我按 Tab,或单击同一行中的另一个单元格,它们会反过来发生。
为什么会这样?在将更改的值应用于绑定对象之前,我需要一种方法来查看更改的值。我可以订阅另一个活动吗?我意识到这不是传统的 MVVM 方法。这是自定义数据网格控件的一部分,具有一些在视图模型中难以实现的要求。
【问题讨论】: