我的解决方案有3个wpf应用程序,每个应用程序均为exe。主要exe文件(称为“父文件”)有一个菜单,我可以从中调用(打开)其他两个exe文件。我可以通过process.start(myexe)并将其分配给父应用程序的窗口句柄。
但是,我希望新的exe在特定的内容控件中打开(或wpf主窗口的一个tabitem或一个棱镜区域)。我也尝试使用Prism,但无法将exe的主视图分配给某个区域。
我无法从子进程的句柄获取视图(用户控件),并将其分配给父应用程序主视图的contentcontrol。
无论如何,最终结果应该在任务管理器中打开了多个exe(我已经实现了),但是它们都漂浮在父应用程序中。我的主要目的是在主应用程序的某些指定控件中显示它们。
有人可以指导如何实现吗?
答案 0 :(得分:0)
如果您别无选择,那么可以使用已经为您量身定制的类似产品。 https://www.codeproject.com/Tips/673701/Hosting-EXE-Applications-in-a-WPF-Window-Applicati
您定义了将在xaml中托管应用程序的控件。
<local:AppControl x:Name="appControl" />
然后在后面的代码(或其他方式)中,指定要嵌入的exe的路径:
appControl.ExeName = "notepad.exe";
this.Unloaded += new RoutedEventHandler((s, e) => { appControl.Dispose(); });
还有Hosting external app in WPF window,它与您要执行的操作非常相关。