【发布时间】:2021-10-15 11:54:27
【问题描述】:
我有一个嵌入 Unity3D 应用程序的 WPF 应用程序,类似于:Embed Unity3D app inside WPF application
使用 WindowsFormsHost 和 WinForms:Panel 嵌入到 WPF 页面中
<WindowsFormsHost><WinForms:Panel x:Name="MyGame"/></WindowsFormsHost>
现在,我的应用程序要求我在 WPF 应用程序的不同页面上显示不同的 Unity.exe 场景。例如,在 Page1 上 Unity.exe 显示 Scene1,在 Page2 上 Unity.exe 显示 Scene2。我有一个 TCP 通信来在场景之间切换。
实现此目的的一种方法是在每次用户导航到新页面时终止运行 Unity.exe 的进程并重新启动它。但是,这将导致用户每次都等待 Unity.exe 加载。因此,是否可以嵌入在一个进程上运行的 .exe 文件并将其显示在多个 WPF 页面上?不知何故,当用户导航到没有嵌入的普通页面时,我喜欢让进程在后台运行。
我的直觉是,将 .exe 文件嵌入到用户控件中可能是一种可能的解决方案,但到目前为止我还没有找到足够的信息。
【问题讨论】:
标签: c# wpf winforms unity3d windowsformshost