Спасибо CodeFluff за ответ. Я адаптировал его к VB.Net и включил коммит при закрытии окна.
Private EditCommited As Boolean
Private Sub MainWindow_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
CommitEdit()
End Sub
Private Sub DataGrid1_CellEditEnding(ByVal sender As Object, ByVal e As System.Windows.Controls.DataGridCellEditEndingEventArgs) Handles DataGrid1.CellEditEnding
CommitEdit()
End Sub
Sub CommitEdit()
If Not EditCommited Then
EditCommited = True
DataGrid1.CommitEdit(DataGridEditingUnit.Row, True)
EditCommited = False
End If
End Sub