SilverLight浏览器交互之:使用SilverLight程序把外部Html页作为资源进行绘图(附源码)...

本文介绍如何使用CompositionTarget.Rendering事件和WebBrowserBrush.Redraw方法在Silverlight应用中实现动态背景绘制。通过实例展示了如何利用这些技术刷新和更新显示内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

CompositionTarget.Rendering 事件


在核心 Silverlight 呈现过程呈现某一帧时发生。
当此事件发生时,表示存在一个可视框架可用于呈现到 Silverlight 内容图面。
然后,可以在处理程序中一帧一帧地修改应用程序的可视对象或任何其他方面的内容。

WebBrowserBrush.Redraw 方法


强制画笔以异步方式重绘自身。

效果

2011050314375876.jpg

xaml代码:


  
< Grid x:Name ="LayoutRoot" >
< Grid.Background >
< LinearGradientBrush StartPoint ="0,0" EndPoint ="0,1" >
< GradientStop Color ="#FF0055DD" Offset ="0" />
< GradientStop Color ="#FF00DDFF" Offset ="1" />
</ LinearGradientBrush >
</ Grid.Background >

< WebBrowser x:Name ="web" Height ="500" Width ="500" Visibility ="Collapsed" Source ="/example-page.aspx" />

< Ellipse Margin ="25" Stroke ="Black" StrokeThickness ="2" >
< Ellipse.Fill >
< WebBrowserBrush SourceName ="web" x:Name ="EllipseBrush" />
</ Ellipse.Fill >
</ Ellipse >
</ Grid >

cs代码:


  
public MainPage()
{
InitializeComponent();

Loaded
+= new RoutedEventHandler(MainPage_Loaded);
}

void MainPage_Loaded( object sender, RoutedEventArgs e)
{
// CompositionTarget.Rendering 事件
// 在核心 Silverlight 呈现过程呈现某一帧时发生。
// 当此事件发生时,表示存在一个可视框架可用于呈现到 Silverlight 内容图面。
// 然后,可以在处理程序中一帧一帧地修改应用程序的可视对象或任何其他方面的内容。
CompositionTarget.Rendering += (s, ev) =>
{
// WebBrowserBrush.Redraw 方法
// 强制画笔以异步方式重绘自身。
EllipseBrush.Redraw();
};
}

html页:


  
<% @ Page Language = " C# " AutoEventWireup = " true " CodeBehind = " example-page.aspx.cs " Inherits = " PaintEllipse.Web.ClientBin.example_page " %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="Head1" runat ="server" >
< title > Demo Page </ title >
</ head >
< body >
< div style ="margin: 20px; font-family: Arial; font-size: 20pt" >
这是一个out-of-browser应用:
< p >
SilverLight程序嵌套的是来自同一领域的HTML页面,在
< a href ="example-page.html" > SilverLight </ a >
程序中html页面是不存在的。
</ div >
< div style ="margin: 20px" >
< img src ="ying.gif" />
</ div >
</ body >
</ html >

大功告成!!!

源码下载


作者:记忆逝去的青春
出处:http://www.cnblogs.com/lukun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/  联系我,非常感谢。



转载于:https://www.cnblogs.com/lukun/archive/2011/05/03/2035295.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值