Javascript 将参数传递给正在运行的silverlight应用程序
场景是我有一个HTML的项目列表;当我点击一个项目时,我使用JS动态创建HTML来加载一个silverlight应用程序,该应用程序传递特定的项目#(使用initParams);我的silverlight应用程序以一种很好的方式将其可视化。我在同一个页面上执行此操作,而不是加载一个新的网页,并且过渡是平滑的 我知道可以让silverlight在我的页面上调用JS函数(与我需要的相反)。我想我的JS函数也可以在silverlight中引发一个事件/调用一个方法,但不确定是如何实现的——有人尝试过吗?虽然解决方法是每次重新创建silverlight应用程序,但只要在现有加载的SL应用程序中引发一个事件就可以完美解决我的问题 问候Javascript 将参数传递给正在运行的silverlight应用程序,javascript,silverlight,interaction,Javascript,Silverlight,Interaction,场景是我有一个HTML的项目列表;当我点击一个项目时,我使用JS动态创建HTML来加载一个silverlight应用程序,该应用程序传递特定的项目#(使用initParams);我的silverlight应用程序以一种很好的方式将其可视化。我在同一个页面上执行此操作,而不是加载一个新的网页,并且过渡是平滑的 我知道可以让silverlight在我的页面上调用JS函数(与我需要的相反)。我想我的JS函数也可以在silverlight中引发一个事件/调用一个方法,但不确定是如何实现的——有人尝试过吗
ewart。您可以从JavaScript调用Silverlight应用程序中的方法。 看到这个了吗 您只需在silverlight应用程序中创建一个类,该类将自身注册为可从JS调用:
[ScriptableType]
public partial class SomeClass
{
private bool mouseHeldDown = false;
private Point moveMeOffset = new Point();
public SomeClass()
{
HtmlPage.RegisterScriptableObject("SilverlightObject", this);
}
[ScriptableMember]
public void DoThing(int x)
{
//do some stuff
}
}
然后你可以从JS调用它
document.getElementById("mySilverlightControl").content.SilverlightObject.DoThing(5);