首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WPF/Surface应用程序中托管WPF/Surface应用程序

在WPF/Surface应用程序中托管WPF/Surface应用程序
EN

Stack Overflow用户
提问于 2011-01-21 01:18:19
回答 3查看 636关注 0票数 0

我正在尝试创建一个父WPF/表面应用程序,它将托管多个WPF/表面应用程序。我正在寻找如何实现这种功能的一些指针。我读的是http://msdn.microsoft.com/en-us/library/ms742522.aspx,但它谈到了在WPF中托管Win32内容,反之亦然。

我的想法是有一些类似于MDI窗体的东西,其中你有一个主窗体,你可以实例化多个子窗体。

在我的例子中,这些是不同的应用程序,它们将使用配置文件启动并加载到主应用程序中。

此外,由于有一种方法可以确保主窗口的进程内存不会被启动的子进程占用。

编辑:主机应用程序将根据用户的选择启动不同的应用程序。可以说它就像一个基于WPF/Surface touch SDK构建的应用程序启动器。现在,一旦应用程序启动,启动器就会进入后台(除了显示小按钮以在以后的某个时刻再次将其带到前面),当用户结束时,当前的应用程序启动器会再次返回到前台。我觉得唯一需要的交互就是知道启动的应用程序被终止了,或者在有限的屏幕区域调用应用程序。如果有人看过Microsoft surface应用程序启动器,即使在应用程序启动时,也会有角按钮将应用程序启动器带到前台。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-20 04:32:30

我遵循这种方法来解决这个问题。启动器不在自己内部托管应用程序,但会启动一个新的应用程序并隐藏它自己。

我遵循的步骤如下:

  1. 主启动器应用程序将在Kiosk模式下运行,即始终在顶部/没有选项通过捕获关闭事件来关闭/在任务栏中没有显示实例/没有标题栏/终止Explorer.exe/隐藏任务栏。
  2. 启动器填充一个水平列表框(用于UI的数据模板),该列表框可以占据屏幕的主要中心区域,并且可以以任意方式滚动。
  3. 当用户选择列表框中的一项时,单击/点击事件启动一个单独的进程,将启动程序窗口的可见性设置为隐藏,并在屏幕的任一角创建一个小按钮(基本上是一个窗口,内部只有一个按钮,大小设置为按钮的高度/宽度),并始终在顶部选项。
  4. 按钮的功能是最小化当前工作的应用程序,并将启动程序的可见性设置为可见,并将焦点设置为此窗口。
  5. 由于该进程是由启动程序启动的,因此我捕获了启动的窗口的关闭事件,以了解用户结束了应用程序,然后再次弹出启动程序。
票数 0
EN

Stack Overflow用户

发布于 2011-01-21 01:30:27

我首先考虑使用Microsoft Prism,具体地说就是模块化名称空间。

票数 0
EN

Stack Overflow用户

发布于 2011-01-21 02:32:26

除了“不同的应用程序”部分,它听起来像是MVVM的经典案例。这些“不同的应用程序”实际上是不同的应用程序,还是仅仅是同一个应用程序中的不同项目?这可能会简化表示方式的选择。

我想你仍然可以有一个名为"Host“的视图来呈现不同的应用程序。

当然,WPF没有MDI的概念,但您可以打开多个非模态窗口。

这真的取决于你所谓的“托管”是什么意思。主窗口是否需要以某种方式处理和/或与其他应用程序交互,或者它只是其他应用程序的启动平台?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4750330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档