Я работаю над небольшим приложением 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 (или любой из его суперклассов) имеют этот атрибут.
Может ли кто-нибудь помочь мне понять это?