WEB开发网
开发学院图形图像Flash Silverlight(27) - 2.0网页之可脚本化, 与DOM的交... 阅读

Silverlight(27) - 2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

 2009-02-16 11:57:05 来源:WEB开发网   
核心提示: 3、Silverlight与网页的JavaScript之间的交互JSDemo.xaml<UserControl x:Class="Silverlight20.WebPage.JSDemo"xmlns="http://schemas.microsoft.c

3、Silverlight与网页的JavaScript之间的交互

JSDemo.xaml

<UserControl x:Class="Silverlight20.WebPage.JSDemo"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel HorizontalAlignment="Left" Margin="5">
  
    <Button Margin="5" x:Name="invokeJS" Content="调用JavaScript" Click="invokeJS_Click" />
    
    <TextBox Margin="5" x:Name="txtMsg" />
  
  </StackPanel>
</UserControl>

JSDemo.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
  
using System.Windows.Browser;
  
namespace Silverlight20.WebPage
{
  public partial class JSDemo : UserControl
  {
    public JSDemo()
    {
      InitializeComponent();
  
      this.Loaded += new RoutedEventHandler(JSDemo_Loaded);
    }
  
    private void invokeJS_Click(object sender, RoutedEventArgs e)
    {
      // 调用页面的 JavaScript 方法
      HtmlPage.Window.Invoke("silverlightInvokeJS", "webabcd");
  
      // 执行任意 JavaScript 语句
      HtmlPage.Window.Eval("silverlightInvokeJS('webabcd2')");
    }
  
    void JSDemo_Loaded(object sender, RoutedEventArgs e)
    {
      HtmlPage.Document.GetElementById("btnHello").SetStyleAttribute("display", "inline");
  
      // 将此对象注册到客户端中,所对应的客户端的对象名为 silverlightObject
      HtmlPage.RegisterScriptableObject("silverlightObject", this);
    }
  
    /**//// <summary>
    /// Hello 方法
    /// 暴露给页面的方法,调用后在 Silverlight 中显示结果
    /// </summary>
    /// <param name="name">名字</param>
    [ScriptableMember] // 脚本化此方法
    public void hello(string name)
    {
      txtMsg.Text += string.Format("Hello: {0}rn", name);
    }
  }
}

上一页  1 2 3 4 5 6 7  下一页

Tags:Silverlight 网页 脚本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接