前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >silverlight于javascript通信

silverlight于javascript通信

作者头像
用户1172164
发布2018-01-16 14:38:08
4280
发布2018-01-16 14:38:08
举报

silverlight小技巧

silverlight于javascript通信

在 silverlight中可以直接使用“HtmlPage.Window.Invoke()” 来调用js方法。也可用“RegisterScriptableObject().”和“[ScriptableMember]”把方法注册到js脚本 中,其调用方法为 “document.getElementById("mysilverlightControlID").Content.Page.UpdateText("你好(来自javascript)"); ”。

例子:

  • Page.xaml.cs
代码语言:js
复制
public Page()
         {
             InitializeComponent();
             HtmlPage.RegisterScriptableObject("Page", this);
             HtmlPage.Window.Invoke("TalkToJavaScript", "你好(来自silverlgiht)");
         }
 
         [ScriptableMember]
         public void UpdateText(string result)
         {
             myTextbox.Text = result;
         } 
 
  • Default.aspx
代码语言:js
复制
<script type="text/javascript"> 
         function TalkToJavaScript( data){     
                alert(data);     
                var control = document.getElementById("mysilverlightControlID");    
                control.Content.Page.UpdateText("你好(来自javascript)");   
         }
         </script> 
 
  • Page.xaml
代码语言:js
复制
<UserControl x:Class="slcalljs.Page"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             Width="400" Height="300">
             <Grid x:Name="LayoutRoot" Background="White">
                 <TextBlock x:Name="myTextbox"></TextBlock>
             </Grid>
         </UserControl>
  
 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-09-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档