我正在开发一个小型的Silverlight应用程序,其中涉及在javascript和Silverlight之间传递一些数据。我也在使用silverlight虚拟地球控件。
我遇到的怪异现象是可以将Microsoft.Maps.MapControl.LocationCollection注册为脚本可创建类型,然后实例化并将其传递给ScriptableMember。很棒,但是我看不到LocationCollection被标记为ScriptableType的地方-我是否缺少明显的东西。
App.xaml.cs中的代码-Application_Startup
HtmlPage.RegisterCreateableType("mapLocationCollection", typeof(Microsoft.Maps.MapControl.LocationCollection));
有效的JavaScript代码!
var locs = SLPlugin.Content.services.createObject('mapLocationCollection');
我认为,为了实例化JavaScript中的类的实例,需要将类型标记为[ScriptableType],并将类型注册为可创建类型。据我所知,LocationCollection(或其任何超类)都具有此属性。
外面有人可以帮我解决这个问题吗?
最佳答案
ScriptableType
属性没有指定该类型上的所有公共属性,方法和事件都是可编写脚本的。只需用ScriptableMember
标记所有标记即可。
关于javascript - LocationCollection未标记为ScriptableType,但可以在脚本中实例化(为什么?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2014607/