WPF绘图和动画-VisualBrush实例

来源:互联网 发布:mac不能拷贝到移动硬盘 编辑:程序博客网 时间:2024/06/15 14:36

《深入浅出WPF》(作者:刘铁猛)之学习笔记

WPF绘图和动画-VisualBrush实例

XAML代码:

<Window x:Class="VisualBrush实例.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:VisualBrush实例"        mc:Ignorable="d"        Title="MainWindow" Height="300" Width="400">    <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="CloneVisual"/>        <StackPanel x:Name="StackPanelRight" Background="White" Grid.Column="2"/>    </Grid></Window>

C#代码 :

using System.Windows;using System.Windows.Media;using System.Windows.Shapes;namespace VisualBrush实例{    /// <summary>    /// MainWindow.xaml 的交互逻辑    /// </summary>    public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private double _opacity = 1.0;//不透明计数        private void CloneVisual(object sender, RoutedEventArgs e)        {            var vBrush=new VisualBrush(RealButton);            var rect = new Rectangle            {                Width = RealButton.ActualWidth,                Height = RealButton.ActualHeight,                Fill = vBrush,                Opacity = _opacity            };            _opacity -= 0.2;            StackPanelRight.Children.Add(rect);        }    }}

程序设计图:

这里写图片描述

程序运行图:

这里写图片描述

0 0
原创粉丝点击