原文地址: http://www.dingos.cn/index.php?topic=2000.0
第三十四章 如何为 Siverlight 控件设置背景图片
在 Silverlight 中, ImageBrush 元素可以用图片来填充区域。这个区域可以是各种形状元素,也可以是整个画布本身。
此示例代码显示如何使用 ImageBrush 为 Silverlight 中的 Canvas 控件设置背景图片。
< Canvas x : Name ="SnowCanvas" Width ="600" Height ="480">
< Canvas.Background >
< ImageBrush x : Name ="backgroundImageBrush" Stretch ="UniformToFill"
ImageSource ="Images/Background.png">
</ ImageBrush >
</ Canvas.Background >
</ Canvas >
下面的示例显示如何使用图片填充椭圆区域。此外,还是用 MouseEnter 和 MouseLeaver 事件动态改变椭圆区域的填充图像。
< Ellipse x : Name ="ellipse1" MouseEnter ="ellipse1_MouseEnter"
MouseLeave ="ellipse1_MouseLeave" Width ="100" Height ="100">
< Ellipse.Fill >
< ImageBrush x : Name ="imageBrush1" Stretch ="UniformToFill"
ImageSource ="Images/Flower2.png">
</ ImageBrush >
</ Ellipse.Fill >
</ Ellipse >
下面是 C# 代码执行 MouseEnter 和 MouseLeave 事件,在事件中动态改变图片:
private void ellipse1_MouseEnter(object sender, MouseEventArgs e) {
ImageBrush brush = new ImageBrush ();
brush.ImageSource = new BitmapImage (new Uri (@"Images/Flower1.png" ,
UriKind .Relative));
ellipse1.Fill = brush;
}
private void ellipse1_MouseLeave(object sender, MouseEventArgs e) {
ImageBrush brush = new ImageBrush ();
brush.ImageSource =
new BitmapImage (new Uri (@"Images/Flower2.png" , UriKind .Relative));
ellipse1.Fill = brush;
}