[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
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 
A bientôt pour de nouvelles aventures dans le monde de WPF et de Silverlight !
A+
Technorati tags:
Silverlight
del.icio.us tags:
Silverlight
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 :