2011-06-10 86 views
0

我有一个Silverlight应用程序托管在WPF环境中。WPF和Silverlight之间的事件聚合

我已经创建了一个静态eventaggregrator类。 它用于使用棱镜托管的多个模块之间。

但需要被发布开发WPF模块和开发 * 的Silverlight *模块中订阅该事件。

有可能吗?如果是的话,任何人都可以给我一些参考文章或解决方案?

回答

1

WPF和Silverlight使用不同的执行环境,因此代码不能在运行时共享。

如果您在WPF中的WebBrowser控件内托管Silverlight控件,那么您将不得不在Silverlight控件和WPF主机之间插入一个Javascript图层。

因此,您将在.NET世界中订阅,然后使用WebBrowser控件上的InvokeScript()方法调用可与Silverlight控件进行通信的JavaScript脚本(请参阅ScriptableMember)。

+0

谢谢菲利普我会检查ScriptableMember并尝试实现它。 – Radhi 2011-06-13 04:54:43