私はここで私の髪を引っ張っています。 WebBrowserコントロールを使用して、ローカルのhtmlページ(キオスクアプリ)をホストしています。 webbrowserインスタンスのobjectforscriptingプロパティに使用するcom可視オブジェクトを作成しました。すべて正常に動作している、私はページのjavascript、プロパティとメソッドから私のcomオブジェクトを呼び出すことができます。コレクションのプロパティを除きます。ここに私のコードです。私は、リストプロパティへのアクセスを得ることができないしかしウェブブラウザコントロールを介してオブジェクトのオブジェクトのコレクションプロパティにアクセスする
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class TestObjectModel
{
public string sProp = "testprop";
public List<string> sList = new List<string>();
public TestObjectModel()
{
sList.Add("test");
}
}
何ら問題は、以下に働かないのsprop私はアクセスすることができます。..
<button onclick="alert(window.external.sProp)">test 1</button>
。
<button onclick="alert(window.external.sList[0])">test 2</button>
私はハッシュテーブル、辞書に変換しさえするIListから継承自分のクラスを作成し、そのクラスのComVisibleをマーキングしようとしました。どんなに私は何をすべきか、私はいつも
window.external.sList.0がnullの場合、エラーまたは
の助けをいただければ幸いではないオブジェクトや私が間違っているのものになどの方向を取得していません。
ありがとうございます!