从Silverlight中托管的WebBrowser中的javascript调用C#方法

时间:2013-03-11 16:16:28

标签: c# silverlight silverlight-oob

在我的Silverlight应用中,我有一个显示随机HTML内容的WebBrowser组件。

我想从那里调用C#方法(例如当我点击[a href ...]链接时)。

修改[添加详细信息]:

我会尽力澄清我的问题,对不起,问到最初的问题:

在我的XAML文件中,我有我的webbrowser组件:

<WebBrowser  x:Name="HtmlMail" Grid.Row="1" Visibility="{Binding Visibility}" />

在后面的代码中,我有一个在webbrowser中加载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#功能。

编辑:如果我可以从WebBrowser中捕获链接上的链接并在后面的代码中处理它们,这也没关系

我试过:System.Windows.Navigation.LoadCompletedEventHandler但无法使其正常工作

1 个答案:

答案 0 :(得分:0)

我使用了以下代码:

  

WebBrowser.ScriptNotify + = new   事件处理程序(WebBrowser_ScriptNotify);

在我添加的javascript中:

  

window.external.notify(PARAM);

谢谢@musefan!