Главная » Silverlight » Создание экземпляра объекта Silverlight в браузере

0

В предыдущем примере демонстрируется вызов метода Silverlight в коде JavaScript. Платформа Silverlight предоставляет еще одну возможность взаимодействия кодов — создание объекта Silverlight в коде JavaScript.

Как и ранее, начнем с создания типа и метода, доступных в сценариях. Ниже при­веден класс Silverlight, генерирующий случайные числа.

[ScriptableType()]

public class RandomNumbers {

private Random random = new Random();

[ScriptableMember ()]

public int GetRandomNumberlnRange(int from, int to)

{

return random.Next (from, to+1);

}

}

Как и в предыдущем примере, нужно зарегистрировать класс, чтобы он был досту­пен в коде JavaScript. Однако на этот раз, вместо метода RegisterScriptableObject (), применим метод RegisterCreateableType О .

HtmlPage.RegisterCreateableType("RandomNumbers", typeof(RandomNumbers));

Для создания экземпляра зарегистрированного типа нужно извлечь элемент управ­ления Silverlight и вызвать его метод content. services . createObj ect (). Ниже при­ведена функция JavaScript, которая выводит случайные числа в диапазоне от 1 до 6 с помощью экземпляра класса RandomNumbers, определенного в Silverlight.

<script type="text/javascript">

function getRandomlTo6()

{

var control = document.getElementById("silverlightControl"); var random =

control.content.services.createObject("RandomNumbers"); alert("Случайное число равно " + random.GetRandomNumberlnRange (1, 6));

}

</script>

Необходим также элемент HTML, вызывающий метод getRandomlTo6 (). <р onclick="getRandomlTo6()">

Щелкните здесь, чтобы сгенерировать число.</р> Результат показан на рис. 14.6.

Рис. 14.6. Создание объекта Silverlight в коде JavaScript

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии