silverlight于javascript通信

时间:2022-04-22
本文章向大家介绍silverlight于javascript通信,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

silverlight小技巧

silverlight于javascript通信

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

例子:

  • Page.xaml.cs
public Page()
         {
             InitializeComponent();
             HtmlPage.RegisterScriptableObject("Page", this);
             HtmlPage.Window.Invoke("TalkToJavaScript", "你好(来自silverlgiht)");
         }
 
         [ScriptableMember]
         public void UpdateText(string result)
         {
             myTextbox.Text = result;
         } 
 
  • Default.aspx
<script type="text/javascript"> 
         function TalkToJavaScript( data){     
                alert(data);     
                var control = document.getElementById("mysilverlightControlID");    
                control.Content.Page.UpdateText("你好(来自javascript)");   
         }
         </script> 
 
  • Page.xaml
<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>