0

このチュートリアルで説明した概念を使用して、Silverlightアプリとの間でJavascriptと通信しています。JavaScriptコードで、HTML側のすべてのフォームフィールドが入力されているかどうかを確認し、入力されている場合は、MainPageでメソッドを実行します。

問題は、この手法がMainPageではなくScriptableClassオブジェクトへの応答を返すことです。ScriptableObjectがMainClassのメソッドを呼び出す方法を知っている人はいますか。おそらく、ScriptableClassオブジェクトでトリガーされたMainClassのイベントを使用していますか?

public class ScriptableClass
{
    [ScriptableMember]
    public void gotdetails(string message)
    {
        if (message == "1")
        {
            // call next method in MainPage
        }
        if (message == "0")
        {
            // tell user to complete fields
        }
    }
}
4

1 に答える 1

1

1つの解決策は、「gotdetails」メソッドをMainClassに移動し、このMainClassをScriptableObjectとして登録することです。つまり、ScriptableClassはまったく必要ありません。

ScriptableClassを保持する場合の2番目のオプションは、ScriptableClassで静的イベントを作成し、MainClassでこのイベントをサブスクライブすることです。静的イベントを使用すると、MainClassインスタンスからScriptableCalssインスタンスにアクセスする必要はありません。

MSDNには、JavaScriptとSilverlightの通信についても優れた知識があります。

于 2012-04-11T11:51:59.697 に答える