0

我有两个我自己编写的 WPF 应用程序,App1 和 App2。我希望将 App2 嵌入到 App1 中。

目前,我正在尝试这个:

App2 app2 = new App2();
object content = app2.Content; //which is a grid
app2.Content = null;
mainGridOfApp1.Children.Add(content as UIElement);

它确实出现了,但有几个问题:

  • 显示不正确;按钮位置和其他 UIElements 都搞砸了。
  • 它覆盖了整个屏幕,尽管 mainGridOfApp2 固定在一个小得多的大小。效果是一样的WindowState.Maximized
  • 我在 App2 中应用了自定义样式(主题),但由于未读取 App2 的 App.xaml,因此未应用自定义样式。我该如何应用它?

如何将 App2 无缝嵌入到 App1 中?我不想将 App2 作为单独的进程启动并将 App1 设置为父进程,因为这意味着它将始终位于 App1 拥有的任何 UI 组件之上。

编辑: 我已将 App2 嵌入到 App1 中。我将 App2 的主网格放入 a中,并从 WindowUserControl加载。UserControl对于 App1 方面,我所做的只是UserControl在引用 App2 后调用它。

4

1 回答 1

0

您可以将 App2 程序集加载到您的 App1 应用程序中,并创建要在内容中显示的 Window/UserControl 的实例。

您需要对 App1 进行一些更改,以便您可以引用这些类型,或者创建一个具有所需接口的通用程序集,您可以将它们绑定在一起。

认为任何解决方案(不涉及 App2 拥有自己的进程和托管)都将依赖于对源代码的更改。

于 2013-08-02T09:38:52.350 回答