概述
CompositionTarget.Rendering 事件
在核心 Silverlight 呈现过程呈现某一帧时发生。
当此事件发生时,表示存在一个可视框架可用于呈现到 Silverlight 内容图面。
然后,可以在处理程序中一帧一帧地修改应用程序的可视对象或任何其他方面的内容。
WebBrowserBrush.Redraw 方法
强制画笔以异步方式重绘自身。
效果
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 >
< 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();
};
}
{
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 >
<! 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/ 联系我,非常感谢。