-->

创建一个在外部进程中运行一个WPF“控制”(Create a WPF “control” that

2019-07-30 03:22发布

我有一个WPF应用程序里面包含了一些子控件。

其中的控件之一,其举办的封面下方运行,这将引发访问冲突和崩溃的应用程序的一些本地代码第三方库。 不幸的是消除库是不是一种选择。

我想要做的就是旋转了一个新的窗口过程,主机内的第三方库,并用它在某种程度上沟通。 很多相同的方式,谷歌Chrome和IE8处理浏览器插件。

问题是,第三方库需要绘制到屏幕上,所以我必须以某种方式有我的WPF应用程序的主窗口中的HTML内嵌框架的等价物。

我不知道如何让这个开始,它的证明很难谷歌迄今。 任何意见是极大的赞赏。

Answer 1:

这是一个艰难的,但幸运的是没有在这个领域所做最近一点的工作。

你有没有在.NET 3.5听到System.Addin命名空间? 它可以在这种情况下可能有所帮助。 它允许在一个单独的应用程序域被加载的控制,但被显示在相同的用户界面。 我想像你必须做的工作一点点地得到一切正常通信(以前从未做过这种),但它是可能的。

看看这个早期员额从外接团队: http://blogs.msdn.com/clraddins/archive/2007/08/06/appdomain-isolated-wpf-add-ins-jesse-kaplan.aspx

好像他们保持样品和辅助代码在CodePlex上: http://clraddins.codeplex.com/

我对此很感兴趣,所以如果你得到这个工作,让我们知道如何去为您服务!



Answer 2:

也许不是最简单的任务。 你有没有考虑托管您的第三方的东西,在一个单独的应用程序域? 这样,你也将获得隔离的一个很好的水平,同时节省您的另一项目的麻烦。 是否有被不断刷新或者你能在预定点在应用程序中刷新? 也许一些方案,你基本上是在原有的应用程式做第三方输出的屏幕截图,并显示为图像这样才有可能......



Answer 3:

即将在后期方式。 如果您还需要这个,你见过这个项目: http://blogs.msdn.com/b/changov/archive/2009/10/26/hosting-wpf-ui-cross-thread-and-cross-process。 ASPX

我跑在多个外部流程多个插件在我的LOB应用程序。 我的框架脱胎于以上的项目。



文章来源: Create a WPF “control” that is run in an external process