zoukankan      html  css  js  c++  java
  • 从 JavaScript 调用silverlight方法

    先决条件

    • Silverlight 版本 4.

    • 用于 Visual Studio 2010 的 Silverlight 4 Tools.

    • Microsoft Visual Studio 2010.

    创建 Silverlight 项目和测试页

      略

    注册用于客户端脚本访问的托管代码

    1、

    public Page()   
    {    
       InitializeComponent();   
       HtmlPage.RegisterScriptableObject("Page", this);  
       this.timer = new DispatcherTimer();  
       this.timer.Tick += new EventHandler(Timer_Tick);   
       this.timer.Interval = TimeSpan.FromMilliseconds(400);   
    }


     

    2、在 script 元素中,创建 Silverlight 应用程序完成加载后将调用的 pluginLoaded 函数。

    <script type="text/javascript" language="javascript">     
     var slcontrol = null;    
      function pluginLoaded(sender, args) {  
                if (sender != null && sender != 0) {           
       slcontrol = sender.getHost();      
        }   
       }    
      function StartPare( a, b)      {  
         if (slcontrol) {             
     slcontrol.Content.Page.StartPara(a,b);    
          }    
      }     
     function ReturnPare() {         
     if (slcontrol) {            
      var j = slcontrol.Content.Page.StopPara();        
          alert(j.toString());         
     }
     }  
    </script>


     

    3、Silverlight 控件标记与下面的代码类似:

    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="400" height="300">
              <param name="source" value="ClientBin/JavaScriptToSilverlight.xap"/>
              <param name="onError" value="onSilverlightError" />
              <param name="background" value="white" />
              <param name="minRuntimeVersion" value="4.0.50401.0" />
              <param name="autoUpgrade" value="true" />
              <param name="onload" value="pluginLoaded" />
              <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
                   <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
              </a>
            </object>
    使用 JavaScript 获取和设置托管代码属性值

    该按钮的 HTML 标记

    显示行号 复制代码
    1. <input type="button" value="StartPare" onclick="StartPare(2,3);" />
      
    2.  <input type="button" value="ReturnPare" onclick="ReturnPare();" />
      

    silverlight页面的代码

    int j = 0;
       [ScriptableMember]
       public void StartPara(int a, int b)
       {
            j = a + b;
       }
       [ScriptableMember]
       public int StopPara()
       {
           return j;
       }
  • 相关阅读:
    第一个博客——python通过值传递函数参数
    JAVA并发体系-1.1-终结任务或线程
    JAVA并发体系-1.4-线程池
    JAVA并发体系-1.3-线程之间的协作
    JAVA并发体系-2-锁机制
    并发实现机制-1-综述
    JAVA并发体系-3-并发容器
    并发实现机制-2-互斥实现
    并发实现机制-3-死锁和饥饿
    JAVA持有对象
  • 原文地址:https://www.cnblogs.com/z_lb/p/1789175.html
Copyright © 2011-2022 走看看