【问题标题】:passing parameters to running silverlight application将参数传递给正在运行的 Silverlight 应用程序
【发布时间】:2010-07-25 22:57:36
【问题描述】:

场景是我有一个 HTML 项目列表;当我单击一个项目时,我使用 JS 动态创建 HTML 以加载传入特定项目 # 的 silverlight 应用程序(使用 initParams);我的 silverlight 应用程序以一种很好的方式可视化了这一点。我在同一页面上执行此操作,而不是加载新网页,并且过渡很顺利。

我知道可以让 silverlight 在我的页面上调用 JS 函数(与我需要的相反)。我认为我的 JS 函数也可以在 Silverlight 中引发事件/调用方法,但不完全确定如何 - 有人试过吗?虽然一种解决方法是每次都重新创建 silverlight 应用程序,但仅在现有的加载的 SL 应用程序中引发一个事件将是解决我的问题的完美解决方案。

问候 埃瓦特。

【问题讨论】:

    标签: javascript silverlight interaction


    【解决方案1】:

    您可以从 JavaScript 调用 Silverlight 应用程序中的方法。 看到这个blog post

    您只需要在您的 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);
    

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2015-02-12
      • 1970-01-01
      • 2014-09-28
      • 2012-12-24
      • 1970-01-01
      相关资源
      最近更新 更多