Basically I have a tab control in the GUI and there is WPF 4.0 datagrid in one of the tabs. When I click on a cell in the grid and edit something and then switch tabs I was getting Defer Refresh error (DeferRefresh' is not allowed during an AddNew or EditItem transaction.).
So I call datagrid.CancelEdit(DataGridEditingUnit.Row) when tab is switched to cancel any pending edit and the Defer refresh issue is gone.
But what I really want to do is CommitEdit() so that the user doesn't have to reenter the data again.
And datagrid.CommitEdit(DataGridEditingUnit.Row, true) doesn't work for me. I get the below error on CommitEnd(): "Cannot perform this operation while dispatcher processing is suspended".
Any help is appreciated.
PS: I have tried datagrid.CommitEdit() and datagrid.CommitEdit(DataGridEditingUnit.Column, true) and it didnt work.
Thanks guys.
Nikhil