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与宿主页面的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; }
}
}
Tags:Silverlight 网页 脚本
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接