zoukankan      html  css  js  c++  java
  • 按键动画

    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
  • 相关阅读:
    如何回答十个最棘手的面试问题(下)
    数据库设计三大范式应用实例剖析
    也谈内置无线网卡
    用10个漂亮问题完美结束面试
    Visual C++6.0编译器报错fatal error C1083
    MSDN library下载地址
    如何回答十个最棘手的面试问题(上)
    个人计划永不乱:五款定时提醒软件横评
    怎样使用C#调用exe的应用程序
    组策略妙用通过组策略禁止域用户更改IP地址
  • 原文地址:https://www.cnblogs.com/qiujiahong/p/3173342.html
Copyright © 2011-2022 走看看