我正在尝试创建一个父WPF /表面应用程序,它将托管多个WPF /表面应用程序。我正在寻找一些如何实现这种功能的指针。正在阅读http://msdn.microsoft.com/en-us/library/ms742522.aspx,但它讨论了在WPF中托管Win32内容,反之亦然。
我的想法是在MDI表单中有类似的东西,你有一个主表单,你可以实例化多个子表单。
在我的情况下,这些将是不同的应用程序,它们将使用配置文件启动并加载到主应用程序中。
此外,因为有一种方法可以确保主窗口的进程内存不会被启动的子进程占用。
编辑: 主机应用程序将根据用户选择的内容启动不同的应用程序。可以说它就像一个基于WPF / Surface touch SDK构建的应用程序启动器。现在,一旦应用程序启动,启动器就会进入后台(除了显示小按钮以便稍后再将其向前移动),当用户结束时,当前应用程序启动器将再次返回前台。我认为唯一需要的交互是知道已启动的应用程序已终止或在有限的屏幕区域中调用应用程序。如果有人看过微软表面应用程序启动器,即使启动了应用程序,也会有一些角落按钮将应用程序启动器置于前台。
答案 0 :(得分:0)
我首先考虑使用Microsoft Prism,特别是Modularity命名空间。
答案 1 :(得分:0)
除了“不同的应用程序”部分,它听起来像MVVM的经典案例。这些“不同的应用程序”实际上是单独的应用程序,还是它们只是在同一个应用程序中的单独项目?这可以简化演示文稿的选择。
我想您仍然可以使用名为“主机”的视图来呈现不同的应用程序。
当然,WPF没有MDI的概念,但你可以打开多个非模态窗口。
这实际上取决于“托管”的含义。主窗口是否需要以某种方式处理和/或与其他应用程序交互,或者它只是其他应用程序的启动板?
答案 2 :(得分:0)
我按照这种方法来解决这个问题。启动器本身没有托管应用程序,但会启动一个新的应用程序并隐藏自己。
我遵循的步骤: