加載WPF窗口,我發現了一些很奇怪的行爲...問題System.ExecutionEngineException而從Windows窗體
這裏是如何複製的問題:
- 創建一個WPF應用程序項目。
- 從App.xaml文件中刪除StartupUri。
- 添加啓動事件處理程序與應用程序簽名「
private void Application_Startup(object sender, StartupEventArgs e)
」 - 現在,一個表單添加到項目中(點擊右鍵,選擇添加新項)。 在Application_Startup方法
- ,創建窗體對象,並顯示它像
Form1 f1 = new Form1(); f1.ShowDialog();
- 實際Form1上,添加一個按鈕的設計,並添加一個click事件處理程序的按鈕。
- 爲您的項目Window1添加一個新的WPF窗口。
- 在步驟6,創建Form1的按鈕單擊事件處理程序中添加幾行代碼來創建顯示WPF窗口:
Window1 w1 = new Window1(); w1.Show();
- 運行該項目,並單擊WinForm的按鈕顯示WPF窗口...作品罰款到目前爲止。
- 關閉WPF窗口並再次單擊winform的按鈕。這一次你應該得到例外。
所以,基本上我要做的就是創建一個顯示一個WinForm一個WPF應用程序。然後,winform顯示一個WPF窗口。
第一次顯示WPF窗口時,一切正常。如果它關閉,然後重新打開,我會得到異常!我也可以通過多次點擊按鈕打開多個WPF窗口。但是,一旦最後一個關閉,我再也無法打開另一個,沒有例外...
我也嘗試過在http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/442782b1-00a1-4e2e-9cc6-ae99b6699126/上建議的各種提示,但這些都沒有幫助。
這是怎麼發生的?
+1。如果你正在結束這個過程(例如winform),你還需要調用Application.Current.Shutdown()嗎?如果是的話,如果你不這樣做會發生什麼? – 2012-10-11 11:42:42