WPFのコンポーネントを使用してWebBrowserJavaScript+HTMLをホストしており、カスタマイズ可能なオブジェクトをプロパティとして渡せるようにしたいと考えていObjectForScriptingます。私の最終目標は、で実行されているjavascriptが次のWebBrowserようなものを呼び出すことができるようにすることです。
window.external['lookup'].getValue(someId);
プロパティを持つにComVisible設定されたクラスを実装することで、これに近い何かを達成できます。truelookup
[ComVisible(true)]
public class ScriptingContext
{
public LookupService lookup { get; set; } //where LookupService is also ComVisible
}
ただし、渡すメンバーについては柔軟に対応したいObjectForScriptingので、各プロパティを事前に指定することはできません。
理想的には、渡す名前とオブジェクトのペアを指定したいのですが、これは機能しません。
私がこれまでに試した(そして失敗した)こと:
Dictionary<string,object>私のコンテキストとしてを使用する- その拡張子を使用すると、
Dictionary<string,object>としてマークされますComVisible - を使用して
ExpandoObject - を使って
List<KeyValuePair<string,object>> - その拡張子を使用すると、
List<KeyValuePair<string,object>>としてマークされますComVisible
不足しているカスタマイズ可能なものObjectForScriptingをWPFに渡す方法はありますか?WebBrowser