I found some rather strange behavior...
Here is how to replicate the problem:
- Create a WPF Application Project.
- Remove the StartupUri from the App.xaml file.
- Add a Startup Event Handler to the App with signature "
private void Application_Startup(object sender, StartupEventArgs e)
" - Now, add a Form to the project (right click and select add new item).
- in the Application_Startup method, create the form object and show it like
Form1 f1 = new Form1(); f1.ShowDialog();
- On the actual Form1, add a button to the designer, and add a click event handler to the button.
- Add a new WPF window to your project, Window1.
- In the Form1's button click event handler created in step 6, add the lines of code to create display the WPF window:
Window1 w1 = new Window1(); w1.Show();
- Run the project and click the button on the winform to show the WPF window... works fine so far.
- Close the WPF window and click the winform's button again. This time you should get the exception.
So, essentially what I do is create a WPF application that displays a winform. Then, the winform displays a WPF Window.
The first time the WPF window is displayed, everything works fine. If it is closed, and then re-opened, I get the exception! I can also open up multiple WPF windows by clicking the button multiple times. Once the last one is closed, however, I can never open another one again without the exception...
I have also tried the various tips suggested at http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/442782b1-00a1-4e2e-9cc6-ae99b6699126/ but those don't help.
Why is this happening?