Я работаю над приложением, которое по большей части является html / javascript (полностью «HTML5») с легкой оболочкой приложения WPF, чтобы оно могло взаимодействовать с локальными ресурсами.
Приложение имеет один HTML-файл, к которому я перемещаюсь программно Как только файл загружен, я пытаюсь присоединить обработчики событий, чтобы я мог обрабатывать определенные события в C #.
Когда я пытаюсь использовать объекты mshtml, кажется, что я получаю только нули обратно. Например, вот код:
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, похоже, всегда возвращает ноль. Я дважды проверил, и идентификатор элемента соответствует.
Мой второй вопрос связан с обработкой события - будет ли это работать для события click из обычной кнопки формы HTML, если добавить к нему немного C #?