В моем приложении Silverlight у меня есть компонент WebBrowser
, отображающий случайный HTML-контент.Вызов метода C# из javascript из WebBrowser, размещенного в Silverlight
Оттуда я хотел бы вызвать методы C# (например, когда я нажимаю ссылку [a href ...]).
Редактировать [добавить детали]:
Я попытаюсь разъяснить мою проблему, извините за первоначальный вопрос плохо спросил:
В моем файле XAML, у меня есть WebBrowser компонент:
<WebBrowser x:Name="HtmlMail" Grid.Row="1" Visibility="{Binding Visibility}" />
в коде позади, у меня есть метод, который загрузки HTML в веб-браузера (HTML от внешнего источника):
void _viewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
string encoded = SilverMUT.Common.Tools.CString.ToHtml(_viewModel.MailSelected.Message);
HtmlMail.NavigateToString(encoded);
}
Что я хотел бы сделать, это добавить, например, кнопку в html-представление (эта часть в порядке), и щелчок на кнопке вызывает функцию C#.
Edit: если я могу ловушку щелчка по ссылкам внутри WebBrowser и обрабатывать их в коде позади, это было бы слишком хорошо
Я стараюсь в: System.Windows.Navigation.LoadCompletedEventHandler но могу «т сделать это работает
[возможно, это полезно] (http://stackoverflow.com/questions/8800764/how-to-intercept-when-user-click-on-a-link-in-a-webbrowser), я нашел это, выполнив поиск в Google - что-то я предлагаю вам научиться делать самостоятельно – musefan
Не уверен насчет SL, но из приложения форм вы можете использовать objectforscripting + window.external; http://msdn.microsoft.com/en-us/library/a0746166.aspx –
Просьба уточнить, хотите ли вы вызвать метод хоста (вероятно, предложение Alex K будет работать) или код на стороне сервера. (Также я изменил название - не стесняйтесь возвращаться) –