我使用以下代码在Windows窗体应用程序中托管WPF应用程序:
var clientApplication = Process.Start("C:\\WpfApplication1.exe");
SetParent(clientApplication.MainWindowHandle, this.Handle);
WPF应用程序作为独立应用程序打开,如何强制它以主窗口形式打开
答案 0 :(得分:3)
“完整应用程序”,如果它是一个桌面应用程序,则包含至少1个Window
对象,由于它是一个Window,因此无法在任何内容中托管。您需要做的是从WPF应用程序中删除任何顶级Windows,然后您可以使用ElementHost托管单个视图(UserControls或其他类型的非窗口元素)。
编辑:请注意,为了做到这一点,您必须从winforms项目引用WPF应用程序项目,或者通过反射在运行时加载所有内容。你无法将.Exe文件托管在另一个窗口中。