JavaScript访问Silverlight要使JavaScript可以访问Silverlight,需要在Silverlight类上加ScriptableType特性或在成员上加Scriptabl
JavaScript访问Silverlight
要使JavaScript可以访问Silverlight,需要在Silverlight类上加ScriptableType特性或在成员上加ScriptableMember,还需要在适当的地方用HtmlPage.RegisterScriptableObject(,)注册脚本。
ScriptableType表明该类的所有公共属性、方法和事件都可以被JavaScript访问,如果只想某些成员被访问可以在成员上加上ScriptableMember。
RegisterScriptableObject的签名是这样的public static void RegisterScriptableObject(string scriptKey,Object instance)。scriptKey是JavaScript访问托管对象时的名称,instance是对象的实例。
例如有这样一个类:
它分别有一个属性方法和事件,SomeEventArgs是事件的参数类型。 可以这样注册脚本:
然后就可以在JavaScript里使用这个类型了: 注册Silverlight控件时加上:
slCtl 是Silverlight控件的引用:
使用:
需要在Silverlight控件上设置enableHtmlAccess为true:
Silverlight主要使用HtmlPage.Document来访问页面的JavaScript,Document类似于JavaScript里面的document。
除了调用JavaScript还可以获取dom对象,获取或设置其属性,附加事件等:
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。