Достъп до HTML DOM (документен обектен модел) от Silverlight - всичко за ИТ и програмиране

Написано на 04 февруари 2009 г. Публикувано в WPF и Silverlight

За да направите това, добавете следното към раздела uses C# на файла Page.xaml.cs:

Нека сега добавим бутон към страницата Page.xaml, който ще има името "mainButton", и задайте събитието за клик върху бутона. Ето изходния код на страницата:

Нека отворим страницата MySilverlightApplicationTestPage.aspx в ASP.NET приложение и да разгледаме кода за инжектиране на приставката Silverlight.

Тагът asp:Silverlight е вътре в тага div. Нека кръстим div "myDIV" и променим стила.

Също така ще зададем ширината на плъгина Silverlight на W вместо на 100%.

Сега нека напишем кода за обработка на щракване върху бутон:

С този код получаваме HTML документ, намираме елемент в HTML документ и задаваме стила за този елемент. Така в приложението Silverlight имаме богати възможности за промяна на външния вид и съдържанието на HTML страницата.

Освен това можем да обработваме събития на HTML страници в нашия C# код. За да направите това, добавете следния код към манипулатора за щракване върху бутон, Button_Click:

Ние се прикачваме към събитието click върху свободното пространство на елемента div. С това щракване цветът на фона се променя на жълт. Тук ламбда израз се използва за манипулатор на събития. Ето пълния код за манипулиране на бутони:

Тъй като това е тестов случай, всеки път, когато се щракне върху бутона, се абонира за събитие. В реални приложения това не може да се направи и този код трябва да се премести в секцията за инициализация. Например така:

Тук се абонираме за събитието, от което се нуждаем в конструктора на страницата.

Нека стартираме това приложение. Да натиснем бутона. Синьото пространство ще стане зелено. Сега щракнете върху зеленото пространство и то ще стане жълто.