我在WPF环境中托管了一个silverlight应用程序。
我创建了一个静态eventaggregrator类。 在使用棱镜托管的多个模块之间使用。
但是对于需要在 WPF 中开发的模块发布的事件,并在 * 中开发的模块中订阅Silverlight的 *。
是否可能?如果是,那么任何人都可以给我一些参考文章或解决方案吗?
答案 0 :(得分:1)
WPF和Silverlight使用不同的执行环境,因此无法在运行时共享代码。
如果您在WPF中的WebBrowser控件中托管Silverlight控件,则必须在Silverlight控件和WPF主机之间插入Javascript层。
因此,您将在.NET世界中订阅,然后在WebBrowser控件上使用InvokeScript()方法来调用可与Silverlight控件通信的Javascript脚本(请参阅ScriptableMember)。