5
votes

When my modal ChildWindow closes, the parent control does not get "un-grayed" and all user input is blocked, forcing me to restart the application. Exact scenario which causes this behavior consistently:

  1. ChildWindow A pops up and user clicks a custom button on the bottom of the window (instead of OK or Cancel). My code does some work and then calls the Close() method for the ChildWindow.
  2. ChildWindow A closes and functionality is restored to parent control (controls are un-grayed).
  3. User causes ChildWindow B to pop up. User clicks system-generated OK or Cancel button.
  4. ChildWindow B closes, but the parent controls are still grayed out and inaccessible.

Either of the windows work fine repeatedly on their own. Any thoughts?

1
Unable reproduce. Perhaps there is a problem in "My code does some work"?AnthonyWJones
This happened to me some time ago. In my case I was opening the second ChildWindow at the same time I was closing the first one. Solved by giving the first ChildWindow a time to close.NestorArturo

1 Answers

7
votes

I saw something similar (it might not fix your exact problem) and found some discussion about the ChildWindow here

they suggested this method in the ChildWindow Closed event and it worked for me.

Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);

Also try calling this.DialogResult = true instead of the Close method.