1

我正在开发一个小型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(或其任何超类)具有此属性。

有人可以帮我解决这个问题吗?

4

1 回答 1

0

否,该ScriptableType属性指定该类型上的所有公共属性、方法和事件都是可编写脚本的。这只是节省了将它们全部标记为ScriptableMember.

于 2010-01-06T17:08:02.767 回答