私は、銀色のアプリケーションであるWebブラウザコントロールを備えたWPFアプリケーションを持っています。以前は、HTMLブリッジを使用して、WPFアプリケーションからsliverlightアプリケーションに関数を呼び出すことができました。
ここで、これとは逆の操作を行う必要があります。つまり、SilverlightからWPFアプリケーション内の関数を呼び出す必要があります。
これはどのように行うことができますか?
私は、銀色のアプリケーションであるWebブラウザコントロールを備えたWPFアプリケーションを持っています。以前は、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');