2012-11-12 129 views
0

我使用下面的代碼來承載我的Windows內部的WPF應用程序窗體應用程序:主機一個窗口內的WPF應用程序窗體應用程序

var clientApplication = Process.Start("C:\\WpfApplication1.exe"); 

SetParent(clientApplication.MainWindowHandle, this.Handle); 

的WPF應用程序被打開作爲一個獨立的應用程序,如何迫使它以主窗口的形式打開

+0

的Process.Start將始終啓動一個新的進程。檢查這個代碼項目鏈接了一些線索,以你的問題http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project – ryadavilli

+1

我不知道你是否想舉辦WPF控制或not.If要承載WPF控件中的WinForms application.Here是針對http://www.switchonthecode.com/tutorials/wpf-tutorial-using-wpf-in-winforms – Sai

+0

沒有其實我是想鏈接舉辦一個完整的應用程序 –

回答

3

「完整的應用程序」,如果它是一個桌面應用程序,至少包含1個對象,因爲它是一個Window,所以不能託管任何內容。你將需要做的是從你的WPF應用程序中刪除任何頂層Windows,然後可以在主機使用ElementHost indivual視圖(用戶控件或其他類型的非窗口元素)。

編輯:請注意,爲了做到這一點,你必須從您的WinForms項目參考WPF應用程序項目,或通過反射加載運行時的一切。您無法將.Exe文件託管在另一個窗口中。

+0

非常感謝,這是我需要什麼 –