The fact that TryCommitPropertyValueEdit changes the focus is very problematic. Consider this situation: the user updates an important field in one window and then clicks on a different window without pressing Enter.
The new value will not be set as the logical focus was never lost. If we now call TryCommitPropertyValueEdit then the properties grid window will become focused.
In our case it is more complicated as the grid is inside a DockSite where some of the ToolWindows are floating. Managing the active window becomes a very difficult task.
As a workaround I'm going over the visual tree, find the TextBlock and manually update its BindingExpression.