2011-07-08 3 views
0

Я работаю над приложением, которое по большей части html/javascript (вся «вещь HTML5») с легкой оболочкой приложения WPF, чтобы оно могло взаимодействовать с локальными ресурсами.WPF Webbrowser C# JavaScript interop

Приложение имеет один файл HTML, который я программирую программно. Как только файл загружен, я пытаюсь присоединить обработчики событий, чтобы я мог обрабатывать определенные события на C#.

Когда я пытаюсь использовать объекты mshtml, кажется, что я возвращаю только null. Например, вот какой-то код:

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#?

ответ

Смежные вопросы