这是可能的。
你像这样注释一个类:
public class MyScriptableManagedType {
[ScriptableMember()]
public string MyToUpper(string str) {
return str.ToUpper();
}
[ScriptableMember()]
public string Name { get; set; }
}
把它放在页面的javascript对象范围内:
MyScriptableManagedType smt = new MyScriptableManagedType();
HtmlPage.RegisterScriptableObject("mySLapp", smt);
然后你可以像这样从javascript中使用它:
var slCtl = null;
function pluginLoaded(sender,args){
slCtl = sender.getHost();
alert(slCtl.Content.mySLapp.MyToUpper("Test String"));
}
函数 pluginLoaded 必须注册到 silverlight 插件才能在加载时调用。
从以下网址获取更多详细信息:
http://msdn.microsoft.com/en-us/library/cc221414(v=vs.95).aspx