2011-01-13 120 views
0

我有一个生成表单(它是一个客户端软件)的程序集。我可以构建一个应用程序获取并启动(显示)该表单,而不会有任何问题。但我无法两次启动该表单,因为程序集没有提供干净的包装解决方案。每秒钟开始它会崩溃,因为有几件事情不会第二次成功初始化。不幸的是,程序集不能被修改。WPF-App从其他AppDomain嵌入WPF窗口/控件

现在我已经把它放在一个单独的AppDomain中,以便能够卸载该程序集。这工作正常,宿主应用程序现在可以多次启动该窗体。

现在问题是:我有一个WPF应用程序,它不应该显示该程序集的窗体,它应该包含在它自己的窗口之一。程序集的WinForms表单已经在WindowsFormHost和WPF窗口(带有AssemblyAppDomain)中。但是我不能将WPF-Window指定为主WPF应用程序窗口之一的内容。它位于AssemblyAppDomain AppDomain中(对象空间不与其共享)。

据我搜索到现在应该有可能建立两个WPF窗口在不同的AppDomain之间的连接,因为这是System.AddIn的工作方式。应该使用管道,合同FrameworkElementAdapter。我有点卡住,任何更具体的提示将不胜感激!

回答