Я создал приложение Silverlight, которое в основном строит изображение поперечного сечения многослойной сферы (представьте концентрические круги) из данных, хранящихся в строке JSON. Строка JSON представляет собой массив значений диаметра + цвета и выглядит следующим образом:
[{"diam":100,"color:"#ffffff"},{"diam":150,color:"#ff0000"}]
У меня все работает в Silverlight. Когда я загружаю приложение в браузере с JSON выше, я успешно получаю рендеринг двух концентрических кругов, внутренний круг белого цвета (#ffffff) диаметром 100 пикселей, а внешний круг красного цвета (# ff0000) с диаметр 150 пикселей. Отлично.
Теперь я должен интегрировать это в HTML-страницу и передать эти данные JSON из javascript в Silverlight. Я использую возможности HTMLBridge, которые предлагает SIlverlight, но у меня возникают проблемы с вызовом метода Silverlight, который создает Viz из Javascript.
Имя метода в Silverlight - BuildViz (), который удаляет все существующие элементы из холста Silverlight, а затем перестраивает визуализацию из открытого свойства с именем JSONData. JSONData вызывает метод BuildViz () после установки его значения:
[ScriptableMember()]
public string JSONData {
get { return _JSONData; }
set { _JSONData = value; BuildViz(); }
}
Я пытался представить JSONData для javascript с использованием HTMLBridge и установить его значение с помощью javascript, но кажется, что метод BuildViz () не вызывается (или вызывается, но он не влияет на мой холст). Не уверен, куда идти отсюда. Примеры HTMLBridge, которые я видел в Интернете, очень просты и имеют дело только с простыми методами, такими как преобразование строки в верхний регистр и возвращение ее значения вызывающему javascript. Мне нужно запустить метод в Silverlight.
Любая помощь будет принята с благодарностью.
ТИА