WPF DataGrid具有RowEditEnding但没有RowEditEnded

Fil*_*lip 10 wpf datagrid

我已经将ObservableCollection绑定到DataGrid.当我更改DataGrid中的值时,会引发RowEditEnding事件.但是e.Row.Item是编辑前的对象,因此您看不到新值.据我所知,因为EditEnding.在Silverlight中,您有一个EditEnded事件,当我编辑DataGrid时,如何使用新值获取对象.

谢谢,

菲利普

小智 9

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c38fc695-d1ec-4252-87b7-feb484ee01e4/,将Binding的UpdateSourceTrigger更改为PropertyChanged.然后,在RowEditEnding事件之前立即更新该属性,并且可以从RowEditEnding事件处理程序访问新值.

例如,对于DataGridComboBoxColumn

SelectedItemBinding="{Binding ForTestResult, UpdateSourceTrigger=PropertyChanged}"
Run Code Online (Sandbox Code Playgroud)

这似乎是解决此问题的一种非常简单的方法.

另外,虽然我还没有尝试过,但我认为如果你的对象实现了IEditableObject,那么在编辑之前也应该很容易访问原始值.


Ash*_*non 6

好吧,也许这可能会有所帮助:http://wpf.codeplex.com/Thread/View.aspx?ThreadId = 39356

http://blogs.msdn.com/b/vinsibal/archive/2009/04/14/5-more-random-gotchas-with-the-wpf-datagrid.aspx

或者,见第5点.

你必须修补它以获得你想要的东西,但我希望有所帮助!或者指出你的方向很好.

  • 不敢相信MS还没有实现这样的基本事件.对于第一次,它在Silverlight中比在WPF中更容易.:)第二个链接点5是答案!!! 为我工作.非常感谢 (4认同)