silverlight &javascript交互的两种 方法:
在Silverlight 2中提供了如下两个类型:
ScriptableMemberAttribute:允许我们在Silverlight把成员暴露给Script。
ScriptableTypeAttribute:允许我们在Silverlight把类型暴露给Script。
同时HtmlPage提供了RegisterCreateableType和RegisterScriptableObject方法,用来注册可被脚本使用的类型或者对象实例。
1.RegisterCreateableType
HtmlPage.RegisterCreateableType("name", typeof(classname));
JS调用:
var slPlugin = document.getElementById('SLobject');
var cal = slPlugin.content.services.createObject("name");
cal.Add(para....);
name:为注册的甲苯实例的名称
className:类名;
methodname:为方法名
注:需要在类上加上上ScriptableType特性。同时在JavaScript中被调用的方法,必须为public,用ScriptableMember特性暴露给脚本。
2.RegisterScriptableObject
注册:HtmlPage.RegisterScriptableObject("name", this);
调用: var slPlugin = document.getElementById('SLobject');
slPlugin.content.name.methodname(para1, para...);
注:JS调用的方法在注册的类中定义。