Silverlightコントロールに次の(2)'ScriptableMember'タイプがあります。
<ScriptableMember()>
Public Property MType As MyCustomType
<ScriptableMember()>
Public Property Message As String
ここでの目的は、明らかにJavascriptのHTMLブリッジを介した公開を可能にすることです。'Message'プロパティの呼び出しは簡単で、次のように完全に機能します。
var SLControl = document.getElementById("SilverlightControl");
SLControl.Content.MyRegisteredControl.Message = 'Hello';
ただし、JSでインスタンスプロパティにドリルダウンして、インスタンスプロパティの値を設定するのに問題があります。私が思うコードは次のようになります:
SLControl.Content.MyRegisteredControl.MType.Name = 'John';
'MType'に追加し、'Name'という名前のパブリックプロパティの1つにアクセスしたことに注目してください。MyCustomTypeクラスには、必要に応じてすべての適切な「ScriptableMember」属性があります。
ただし、上記の行を実行すると、次のエラーが発生します。
「MicrosoftJScriptランタイムエラー:オブジェクトはこのプロパティまたはメソッドをサポートしていません」
'メッセージ'の割り当てで問題なく動作します。JSでインスタンスプロパティをドリルダウンしてその変数を割り当てることは可能ですか?もしそうなら、私はJSが正しくないか、これを修正するために何をする必要がありますか。ありがとう!