Je travaille sur une application qui est pour la plupart html/javascript (tout le truc "HTML5") avec un shell léger d'une application WPF pour qu'elle puisse interagir avec les ressources locales.WPF Webbrowser C# JavaScript interop
L'application possède un seul fichier HTML que je navigue par programme. Une fois le fichier chargé, j'essaie d'attacher des gestionnaires d'événements pour pouvoir gérer des événements spécifiques en C#.
Lorsque j'essaie d'utiliser les objets mshtml, il semble que je ne reçois que des valeurs nulles. Par exemple, voici un code:
string initUrl = "file:///" + Path.Combine(Environment.CurrentDirectory, Path.Combine("Pages", "ComposeSurface.html"));
navBrowser.Navigate(new Uri(initUrl));
navBrowser.Navigated += (o, e2) =>
{
HTMLDocumentClass documentObject = navBrowser.Document as HTMLDocumentClass;
IHTMLElement ele = documentObject.getElementById("initButton");
if (ele != null)
{
Func<IHTMLEventObj, bool> evra = (arg) => { MessageBox.Show("Hello"); return true; };
ele.onclick = evra as object;
}
};
getElementById semble toujours retourner une valeur nulle, cependant. J'ai vérifié et l'identifiant de l'élément est cohérent.
Ma deuxième question a trait à la gestion de l'événement - cela fonctionnera-t-il pour un événement click à partir d'un bouton de formulaire HTML normal jusqu'à la connexion d'un C#?