我有一个 WPF 应用程序,里面有一个 web 浏览器控件,它是一个 silveriight 应用程序。早些时候,我已经能够使用 HTML 桥从 WPF 应用程序调用函数到 sliverlight 应用程序。
现在,我必须与此相反,即我必须从 silverlight 调用 WPF 应用程序内部的一个函数。
如何才能做到这一点?
我有一个 WPF 应用程序,里面有一个 web 浏览器控件,它是一个 silveriight 应用程序。早些时候,我已经能够使用 HTML 桥从 WPF 应用程序调用函数到 sliverlight 应用程序。
现在,我必须与此相反,即我必须从 silverlight 调用 WPF 应用程序内部的一个函数。
如何才能做到这一点?
您可以使用如下所示的属性来执行此操作:
C#部分:
webBrowserControlName.ObjectForScripting = new ScriptInterface();
其中ScriptInterface如下
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class ScriptInterface
{
public void CSharpMethod(string data)
{
MessageBox.Show(data);
}
}
HTML 部分
在您在 Web 浏览器控件中加载的页面中,执行以下操作:
window.External.CSharpMethod('from html page to WPF');