在使用Silverlight 的时候,也许你要使用本地资源,然而Silverlight 可能不能做到,但是如果我们透过js+activex 或者js +externl标签,可以做很多事情。
那么如何完成两者的交互呢:
1. silverlight 中使用javascript
(1) 引用名字空间: using System.Windows.Browser;
(2) 方法1:HtmlPage.Window.Eval() 这个方法直接执行字符串的javascript;
方法2:HtmlPage.Window.Invoke("InitializeFso", new object[] { });
其中第一个参数是你的javascript 的函数名称,第二参数是调用这个函数的参数数组。
方法3:htmlpage.window.createInstance();
2. JS 调用Silverlight
1. 在Silverlight的UserControl的派生类的构造函数中进行注册Silverlight给js 的运行期。
2. 在Silverlight中建立可以让js 调用的方法:使用关键字[ScriptableMember], 还有[ScriptableType] 例如:
3. 在测试silverlight 的页面增加 silverlight obj 的ID
4. 在Js 中调用