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

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

 2009-02-16 11:57:05 来源:WEB开发网   
核心提示:本文源代码下载地址: http://flashview.ddvip.com/2008_12/Silverlight.rar介绍Silverlight 2.0 使用c#开发可脚本化的代码,Silverlight与宿主页面的DOM之间的交互,Silverlight(27) - 2.0网页之可脚本化, 与DOM的交互, 与J

本文源代码下载地址:

http://flashview.ddvip.com/2008_12/Silverlight.rar

介绍

Silverlight 2.0 使用c#开发可脚本化的代码,Silverlight与宿主页面的DOM之间的交互,Silverlight与宿主页面的JavaScript之间的交互

ScriptableMemberAttribute - 需要脚本化的属性、方法、事件要标记为此

HtmlPage.RegisterScriptableObject - 将可脚本化对象注册到客户端

HtmlElement - 表示网页的文档对象模型 (DOM) 中的 HTML 元素

HtmlWindow - 提供 JavaScript 的 window 对象的 Silverlight 端的托管表示形式

在线DEMO

http://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html

示例

1、Silverlight对可脚本化的支持

Scriptable.cs

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
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 的
   * 需要脚本化的属性、方法、事件要标记为 [ScriptableMember]
   * 如果类被标记为 [ScriptableType],则意味着其属性、方法、事件都是ScriptableMemberAttribute
   */
  
  /**//// <summary>
  /// 用于演示脚本化的类
  /// </summary>
  // [ScriptableType]
  public class Scriptable
  {
    /**//// <summary>
    /// 当前服务端的时间
    /// </summary>
    [ScriptableMember]
    public DateTime CurrentTime { get; set; }
  
    /**//// <summary>
    /// Hello 方法
    /// </summary>
    /// <param name="name">名字</param>
    /// <returns></returns>
    [ScriptableMember]
    public string Hello(string name)
    {
      return string.Format("Hello: {0}", name);
    }
    
    /**//// <summary>
    /// 开始事件
    /// </summary>
    [ScriptableMember]
    public event EventHandler<StartEventArgs> Start;
  
    /**//// <summary>
    /// 触发开始事件所调用的方法
    /// </summary>
    /// <param name="dt"></param>
    public void OnStart(DateTime dt)
    {
      if (Start != null)
      {
        Start(this, new StartEventArgs()
        {
          CurrentTime = dt
        });
      }
    }
  
  }
  
  /**//// <summary>
  /// 开始事件的 EventArgs
  /// </summary>
  public class StartEventArgs : EventArgs
  {
    /**//// <summary>
    /// 当前服务端的时间
    /// </summary>
    [ScriptableMember]
    public DateTime CurrentTime { get; set; }
  }
}

1 2 3 4 5 6  下一页

Tags:Silverlight 网页 脚本

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