Я хотел бы вызывать методы C # в элементе управления WebBrowser. Ниже мой код:
В XAML,
<phone:WebBrowser Margin="0,0,0,0" Name="WebBrowserForDetails" VerticalAlignment="Top" Height="300" ScriptNotify="WebBrowserForDetails_ScriptNotify" IsScriptEnabled="True" />
В C #,
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string html = string.Format("<html><head><title></title><script type=\"text/javascript\">{0}</script></head><body><button onclick=\"call();\">Push</button>", "function call(){ window.external.notify(123) ;}");
WebBrowserForDetails.NavigateToString(html);
}
private void WebBrowserForDetails_ScriptNotify(Object sender, NotifyEventArgs e)
{
Debug.WriteLine(e.Value);
}
Ожидается увидеть 123
в окне отладки.
Когда <button>Push</button>
нажата, window.external.notify
никогда не вызывается. На самом деле window.external
недоступен. Я хотел бы вызвать функцию window.external.notify
из элемента управления WebBrowser для вызова метода WebBrowserForDetails_ScriptNotify
. Что мне делать?
Редактировать
Справочные ссылки: MSDN: window.external.notify
, Любой способ динамической установки высоты элемента управления веб-браузера WP7 и блокировки прокрутки? и Отображение содержимого HTML в Windows Phone 7