WPF中绘画和动画(4)
接下来我们看一个VisualBrush的例子。为了简单起见,目标控件是一个Button,实际工作中换成复杂控件的效果也一样。程序的XAML代码如下:
<Window x:Class="WpfApplication1.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="VisualBrush" Height="300" Width="400"Background="Orange">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="160"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="160"/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="stackPanelLeft" Background="White">
<Button x:Name="realButton" Content="OK" Height="40"/>
</StackPanel>
<Button Content=">>>" Grid.Column="1" Margin="5,0" Click="Button_Click" />
<StackPanel x:Name="stackPanelRight" Background="White" Grid.Column="2"/>
</Grid>
</Window>
中间Button的Click事件处理器代码如下:
doubleo=1.0; //不透明度计数器
privatevoidButton_Click(objectsender, RoutedEventArgse)
{
VisualBrushvBrush=newVisualBrush(this.realButton);
Rectanglerect=newRectangle();
rect.Width=realButton.ActualWidth;
rect.Height=realButton.ActualHeight;
rect.Fill=vBrush;
rect.Opacity=o;
o-=0.2;
this.stackPanelRight.Children.Add(rect);
}
摘自 wangganggang90的专栏
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- 教你如何来恢复一个丢失的数据文件
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- asp.net 六大内置对象(2)
- MVC中一个表单实现多个提交按钮(一个action搞定
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- ASP.NET数据格式的Format--DataFormatString
- asp.net js模拟Button点击事件
- winform下通过webclient使用非流方式上传(post)数据和
- Pro ASP.NET MVC 3 Framework学习笔记之九