Доступ до HTML DOM (Document Object Model) із Silverlight - все про IT та програмування

Written on 04 Лютого 2009 . Posted in WPF та Silverlight

Для цього до секції usings 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 додамо код:

Ми приєднуємося до події кліка вільного простору елемента div. При такому натисканні колір фону змінюється на жовтий. Тут для обробника події використовується лямбда вираз. Ось повний код обробника натискання кнопки:

Так як це тестовий приклад, то при кожному натисканні на кнопку відбувається підпис на подію. У реальних додатках так робити не можна і треба виносити цей код розділ ініціалізації. Наприклад, так:

Тут ми в конструкторі сторінки підписуємось на потрібну подію.

Запустимо цей додаток. Натисніть кнопку. Синій простір стане зеленим. Тепер натиснемо на зелений простір, і він стане жовтим.