2012-02-13 1 views
1

私は私のSilverlightコントロールで、次の(2)「ScriptableMember」タイプがあります。ここでの目的は、JavaScriptでHTMLブリッジを経由して露出を可能にするために、明らかであるSilverlightのScriptable MemberプロパティのJavascriptでインスタンスプロパティを設定できますか?

<ScriptableMember()> 
Public Property MType As MyCustomType 

<ScriptableMember()> 
Public Property Message As String 

を。 「メッセージ」プロパティを呼び出すと、簡単ですし、完璧に以下のように動作します:

var SLControl = document.getElementById("SilverlightControl"); 
SLControl.Content.MyRegisteredControl.Message = 'Hello'; 

しかし、私はJSでそのプロパティにドリルダウンして、インスタンスのプロパティの値を設定する問題を抱えています。私が思うだろうコードは以下のようにする必要があります:私は「MTYPE」に加え、次いで、「名前」という名前のパブリックプロパティの1アクセス方法

SLControl.Content.MyRegisteredControl.MType.Name = 'John'; 

注意してください。 MyCustomTypeクラスには、必要に応じてすべての適切な 'ScriptableMember'属性があります。

上記のその行が実行されている場合しかし、私は次のエラーを取得:

の「Microsoft JScriptのランタイムエラー:オブジェクトはこのプロパティまたはメソッドをサポートしていません」

それだけで罰金に動作します'メッセージ'の割り当て。 JSでインスタンスプロパティをドリルダウンしてその変数を割り当てることは可能ですか?もしそうなら、私はJSが間違っているか、これを修正するために何をする必要がありますか?ありがとう!

答えて

0

私はこの1つについて何か助けを得なかったが、私はそれを考え出し、答えは「はい」である。 HTMLブリッジで要求されているように

<ScriptableMember()> 
Private _MyClass1 As New MyCustomClass 
Public Property MyClass1() As MyCustomClass 
Get 
    Return _MyClass1 
End Get 
Set(ByVal value As MyCustomClass) 
    _MyClass1= value 
End Set 
End Property 

、私はJavaScriptからのアクセスを得ることができますので、私のコントロールのクラスインスタンスのインスタンスを登録します。

第一は、私は次のようになります。私のSilverlightコントロールのインスタンスプロパティがあります。

HtmlPage.RegisterScriptableObject("MySLControl", Me) 

は今 は、私は、インスタンスプロパティのための上記の別のメンバーを登録するために必要な思ったが、私はそれを行う必要がありませんしませんでした。下図のようにあなたは、スクリプト一員として公開され、メインクラスのインスタンスを通じてそれにドリルダウンすることができます

//Get instance of the Silverlight File Upload Control 
var SLControl = document.getElementById("SilverlightControl"); 
if (SLControl != null) 
    //Drill down through the instance property exposed on the Silverlight control 
    SLControl.Content.MySLControl.MyClass1.Name = "John Smith"; 

私を投げたことは、私はインスタンスプロパティのスクリプト可能型のインスタンスを登録するために必要なことを考えていました、私はそれをする必要はありませんでした。私はちょうどドリルダウンしてプロパティにアクセスすることができます。

次のポストは、このビット以上に拡張します。
Accessing Instance Properties in Silverlight from JavaScript

関連する問題