2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

介绍

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

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Net;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Controls;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Documents;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Ink;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Input;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media.Animation;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Shapes;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Browser;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互namespace Silverlight20.WebPage

ScriptableDemo.xaml.cs

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Collections.Generic;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Linq;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Net;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Controls;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Documents;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Input;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media.Animation;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Shapes;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Browser;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互namespace Silverlight20.WebPage

ScriptableDemo.html

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<html xmlns="http://www.w3.org/1999/xhtml">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<head>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <title>Silverlight20</title>

2、Silverlight与网页的DOM之间的交互

DOMDemo.xaml

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<UserControl x:Class="Silverlight20.WebPage.DOMDemo"

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <StackPanel HorizontalAlignment="Left" Margin="5">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <TextBox x:Name="txtMsg" />

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 </StackPanel>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互</UserControl>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

DOMDemo.xaml.cs

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Collections.Generic;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Linq;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Net;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Controls;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Documents;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Input;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media.Animation;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Shapes;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Browser;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互namespace Silverlight20.WebPage

DOMDemo.html

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<html xmlns="http://www.w3.org/1999/xhtml">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<head>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <title>Silverlight20</title>

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

JSDemo.xaml

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<UserControl x:Class="Silverlight20.WebPage.JSDemo"

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <StackPanel HorizontalAlignment="Left" Margin="5">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <Button Margin="5" x:Name="invokeJS" Content="调用JavaScript" Click="invokeJS_Click" />

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <TextBox Margin="5" x:Name="txtMsg" />

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 </StackPanel>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互</UserControl>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

JSDemo.xaml.cs

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Collections.Generic;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Linq;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Net;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Controls;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Documents;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Input;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Media.Animation;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Shapes;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互using System.Windows.Browser;

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互namespace Silverlight20.WebPage

JSDemo.html

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<html xmlns="http://www.w3.org/1999/xhtml">

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互<head>

2.0网页之可脚本化, 与DOM的交互, 与JavaScript的交互 <title>Silverlight20</title>