MessageBox.ComputeOwnerWindow() method checks whether one of the windows in the current application is active. If foreground window is different than the application window MessageBox does not display correctly and makes the application window non clickable. I did not test but IMHO ComputeOwnerWindow() method can fallback to Application.Current.MainWindow.
↧