在Silverlight中, ImageBrush 元素可以用图片来填充区域。这个区域可以是各种形状元素,也可以是整个画布本身。
此示例代码显示如何使用ImageBrush为 Silverlight 中的 Canvas控件设置背景图片。
< Canvas x : Name ="SnowCanvas" Width ="600" Height ="480">
<Canvas.Background>
<ImageBrushx : 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>
<ImageBrushx : 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 (newUri (@"Images/Flower1.png" ,
UriKind .Relative));
ellipse1.Fill = brush;
}
private void ellipse1_MouseLeave(object sender,MouseEventArgs e) {
ImageBrush brush = new ImageBrush ();
brush.ImageSource =
new BitmapImage (newUri (@"Images/Flower2.png" ,UriKind .Relative));
ellipse1.Fill = brush;
}
Silverlight入门知识学习目录