• 按键动画


    XAML:
    <Window x:Class="WpfApplication7.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="370" Width="450">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition></RowDefinition>
                <RowDefinition></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <Button Padding="10" Name="cmdGrow" Click="cmdGrow_Click" Height="40" Width="160"
                    HorizontalAlignment="Center" VerticalAlignment="Center">
                Click make me grow
            </Button>
            <Button Grid.Row="1" Padding="10" Name="cmdShrink" Click="cmdShrink_Click"
                    HorizontalAlignment="Center" VerticalAlignment="Center">Shrink It Back</Button>
            <Button Grid.Row="2" Padding="10" Name="cmdGrowIncrementally"
                HorizontalAlignment="Center" VerticalAlignment="Center" Click="cmdGrowIncrementally_Click"
                     Width="240">Click me make me grow</Button>
        </Grid>
    </Window>
    后台代码:
    private void cmdGrow_Click(object sender, RoutedEventArgs e)
    {
        DoubleAnimation widthAnimation = new DoubleAnimation();
        widthAnimation.To = this.Width - 30;
        widthAnimation.Duration = TimeSpan.FromSeconds(5);
        widthAnimation.Completed += animation_Completed;

        DoubleAnimation heightAnimation = new DoubleAnimation();
        heightAnimation.To = (this.Height - 50)/3;
        heightAnimation.Duration = TimeSpan.FromSeconds(5);

        cmdGrow.BeginAnimation(Button.WidthProperty, widthAnimation);
        cmdGrow.BeginAnimation(Button.HeightProperty, heightAnimation);   
    }
    private void animation_Completed(object sender, EventArgs e)
    {
        //double currentWidth = cmdGrow.Width;
        //cmdGrow.BeginAnimation(Button.WidthProperty, null);
        //cmdGrow.Width = currentWidth;

        //MessageBox.Show("Completed!");
    }

    private void cmdShrink_Click(object sender, RoutedEventArgs e)
    {
        DoubleAnimation widthAnimation = new DoubleAnimation();
        widthAnimation.Duration = TimeSpan.FromSeconds(5);           
        DoubleAnimation heightAnimation = new DoubleAnimation();
        heightAnimation.Duration = TimeSpan.FromSeconds(5);
        cmdGrow.BeginAnimation(Button.WidthProperty, widthAnimation);
        cmdGrow.BeginAnimation(Button.HeightProperty, heightAnimation);
    }

    private void cmdGrowIncrementally_Click(object sender, RoutedEventArgs e)
    {
        DoubleAnimation widthAnimation = new DoubleAnimation();
        widthAnimation.By = 10;
        widthAnimation.Duration = TimeSpan.FromSeconds(0.5);                      

        cmdGrowIncrementally.BeginAnimation(Button.WidthProperty, widthAnimation);           
    }

    单片机,嵌入式LINUX技术交流群:142282597
  • 相关阅读:
    JMS API学习总结(一)
    java读取properties配置文件
    如何创建并运行java线程
    JS
    JS
    JS
    JS
    IE
    JS
    JS
  • 原文地址:https://www.cnblogs.com/qiujiahong/p/3173342.html
Copyright © 2020-2023  润新知