Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Silverlight托管的WebBrowser中的javascript调用C#方法_C#_Silverlight_Silverlight Oob - Fatal编程技术网

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

从Silverlight托管的WebBrowser中的javascript调用C#方法,c#,silverlight,silverlight-oob,C#,Silverlight,Silverlight Oob,在我的Silverlight应用程序中,我有一个显示随机HTML内容的WebBrowser组件 我想从那里调用C#方法(例如,当我单击[a href…]链接时) 编辑[添加详细信息]: 我将尝试澄清我的问题,很抱歉最初的问题问得很糟糕: 在我的XAML文件中,我有我的webbrowser组件: <WebBrowser x:Name="HtmlMail" Grid.Row="1" Visibility="{Binding Visibility}" /> 我想做的是在html视图中添

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

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

编辑[添加详细信息]:

我将尝试澄清我的问题,很抱歉最初的问题问得很糟糕:

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

<WebBrowser  x:Name="HtmlMail" Grid.Row="1" Visibility="{Binding Visibility}" />
我想做的是在html视图中添加一个按钮(这部分没问题),点击按钮触发一个C函数

编辑:如果我可以从WebBrowser中捕获点击链接并在代码隐藏中处理它们,这也可以


我尝试了:System.Windows.Navigation.LoadCompletedEventHandler,但无法使其工作

我使用了以下代码:

WebBrowser.ScriptNotify+=新建 EventHandler(WebBrowser_ScriptNotify)

在javascript中,我添加了:

window.external.notify(参数)


谢谢@musefan

,我通过谷歌搜索找到了它——我建议你学会自己做这件事——不确定SL,但通过表单应用程序,你可以使用objectforscripting+window.external;请澄清您是否要调用主机的方法(可能Alex K建议可行)或服务器端代码。(我还更改了标题-请随意回复)@musefan:这个例子是针对Windows Phone的,但我可以使用相同的机制来解决我的问题(但在Silverlight中没有导航事件参数)@AlexK.:ObjectForScript不可用
void _viewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
string encoded = SilverMUT.Common.Tools.CString.ToHtml(_viewModel.MailSelected.Message);
HtmlMail.NavigateToString(encoded);
}