我正在使用this tutorial中教授的概念与我的Silverlight应用程序之间的Javascript进行通信。我希望JavaScript代码检查是否填写了HTML端的所有表单字段,如果是,请在MainPage中运行方法。
问题是此技术返回对ScriptableClass对象的响应,而不是MainPage。有谁知道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
}
}
}
答案 0 :(得分:1)
一个解决方案是将“gotdetails”方法移动到MainClass并将此MainClass注册为ScriptableObject,我的意思是你根本不需要ScriptableClass。
第二个选项,如果你想保留ScriptableClass,则在ScriptableClass中创建静态事件并在MainClass中订阅此事件。使用静态事件,您无需从MainClass实例访问ScriptableCalss实例。
MSDN也有关于javascript和Silverlight通信的良好walthrough。