Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

[Silverlight] Accéder au HTML depuis le code managé

Hier, je vous ai expliqué comment accéder au code managé d'une application Silverlight depuis le Javascript. Aujourd'hui, nous allons voir comment accéder au contenu du HTML depuis le code managé de votre application.

Pour commencer, il faut savoir qu'il est possible de récupérer l'instance du document HTML dans lequel se trouve le contrôle Silverlight, en utilisant le code suivant:

// Get a reference to the HTML document.

HtmlDocument document = HtmlPage.Document;

Une fois ce document récupéré, la technique est un peu la même qu'en Javascript: il va falloir parcourir le DOM (Document Object Model , Modèle Objet du document) au moyen des méthodes telles que GetElementByID, GetElementByTagName, etc...

Voici par exemple comment récupérer l'instance d'un bouton HTML nommé btPlay:

<input type="button" id="btPlay" value="Start game" />

HtmlElement btn = document.GetElementByID("btPlay");

Et voila Smile

Bon, certes, cela reste très basique. Mais là où cela devient intéressant, c'est que l'on va pouvoir, depuis notre code managé, attacher des évènements à nos éléments HTML. Voici un petit exemple:

// Get a reference to the HTML document.

HtmlDocument document = HtmlPage.Document;

HtmlElement btn = document.GetElementByID("btPlay"); 

btn.AttachEvent("onclick", new EventHandler<HtmlEventArgs>(this.OnbtPlayClicked));

 

private void OnbtPlayClicked(object sender, HtmlEventArgs args)

{

    // Your code here

}

A partir de maintenant, dès que je cliquerais sur le bouton btPlay, le contenu de la méthode OnbtPlayClicked sera exécuté: plutôt sympathique non Wink

 

A bientôt pour de nouvelles aventures dans le monde de WPF et de Silverlight !

 

A+

 

Technorati tags:
 
del.icio.us tags:
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 22 mai 2007 09:23 par Thomas LEBRUN
Classé sous : , ,

Commentaires

phil a dit :

Sympa ta série sur Silverlight !

# mai 22, 2007 10:42

FREMYCOMPANY a dit :

Et peut-on avec ta méthode faire un eval du JavaScript ?

Donc en gros un window.eval ?

# mai 22, 2007 17:46

Thomas LEBRUN a dit :

Hum... on peut récupérer le HTML mais je ne pense pas que cela soit possible de récupérer le JS...

# mai 22, 2007 19:34
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Silverlight 3 : Communication et multicast par Kévin Gosse le il y a 8 heures et 25 minutes

- [Perso] Découvertes estivales : Linux (Part I) par Le blog de FremyCompany le il y a 11 heures et 7 minutes

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le 07-04-2009, 00:50

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le 07-03-2009, 23:36

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15