This is mainly a question for me as it wasted about an hour of my time today...
I have a datagrid where I have attached two commands: BeginEdit and CommitEdit.
I have set breakpoints in each of these command classes and the BeginEdit breakpoint always gets hit, but the CommitEdit will only break if you select another cell or row in the datagrid and NOT when the datagrid loses focus. It appears that something is doing a commit as when I look at the data after I have edited and left the datagrid form, the change was made to the viewmodel that the datagrid row was displaying.
As I stated, I wasted too much time trying to figure out how to perform an edit in my datagrid, but your documentation says NOTHING about there being some catchall trap that performs the commit. Either this is a bug - the CommitEdit command IS NOT executed when the cell loses focus or your documentation needs to be updated...
It took waaaaaaaaaaaaaaaaay toooooooooooo long to figure this out...