2012-11-12 132 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

非常感谢,这是我需要什么 –