《wpf/XAML—“制作一个简单的动画”》

在wpf中,动画效果是相对强烈的,下面我们来制作一则动画:
在这里插入图片描述
<Window x:Class=“MySecondWPF.AttributeAnimation”
xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml

    Title="AttributeAnimation" Height="650" Width="1100">
<Window.Resources>
    <Style TargetType="Button">
        <Setter Property="Background" Value="White"></Setter>
        <Setter Property="BorderBrush" Value="White"></Setter>
        <Setter Property="Foreground" Value="Gray"></Setter>
    </Style>
</Window.Resources>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"></RowDefinition>
        <RowDefinition Height="20*"></RowDefinition>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*"></ColumnDefinition>
        <ColumnDefinition Width="8*"></ColumnDefinition>
        <ColumnDefinition Width="2*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid Grid.Row="0" Grid.Column="1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"></ColumnDefinition>
            <ColumnDefinition Width="1*"></ColumnDefinition>
            <ColumnDefinition Width="1*"></ColumnDefinition>
            <ColumnDefinition Width="1*"></ColumnDefinition>
            <ColumnDefinition Width="1*"></ColumnDefinition>
            <ColumnDefinition Width="1*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Button Click="btn_StartSports">我的电脑</Button>
    </Grid>
    <Grid Grid.Row="1" >
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"></RowDefinition>
            <RowDefinition Height="1*"></RowDefinition>
            <RowDefinition Height="1*"></RowDefinition>
            <RowDefinition Height="1*"></RowDefinition>
            <RowDefinition Height="1*"></RowDefinition>
        </Grid.RowDefinitions>
        <Image Source="1.jpg" Grid.Row="1" Name="MotionPicture" Width="10" ></Image>
    </Grid>
</Grid>
然后就可以看到它的页面效果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190410222922547.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDU0ODMwNw==,size_16,color_FFFFFF,t_70) 然后我们再写button的点击事件,如下: private void btn_StartSports(object sender, RoutedEventArgs e) { DoubleAnimation doubleAnimation = new DoubleAnimation(); doubleAnimation.From = MotionPicture.Width;//宽度变化 doubleAnimation.AccelerationRatio = 0.1;//开始加速 doubleAnimation.DecelerationRatio = 0.1;//开始减速 doubleAnimation.To = 250;//变化后的宽度 doubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(3)); doubleAnimation.RepeatBehavior =new RepeatBehavior(1);//重复次数 MotionPicture.BeginAnimation(WidthProperty, doubleAnimation);//这里记得启动 } 然后上面就是动画的制作了。
要实现WPF报警功能,可以使用动画制作闪烁效果。具体步骤如下: 1. 创建一个WPF窗口,添加一个Label控件,用于显示报警信息。 2. 使用VisualStateManager来创建闪烁动画。在XAML中添加VisualStateGroup和VisualState: ```xml <Label x:Name="alarmLabel" Content="Alarm!" Foreground="Red"> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="AlarmStates"> <VisualState x:Name="Flash"> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="alarmLabel"> <EasingDoubleKeyFrame KeyTime="0" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </Label> ``` 3. 在代码中,使用VisualStateManager.GoToState方法来触发闪烁动画。例如,当需要报警时,可以使用以下代码: ```csharp VisualStateManager.GoToState(alarmLabel, "Flash", true); ``` 这样,当调用GoToState方法时,闪烁动画就会开始执行,直到动画停止或被取消。 4. 如果需要停止动画,可以使用VisualStateManager.GoToElementState方法,将控件的状态重置为默认状态。例如: ```csharp VisualStateManager.GoToElementState(alarmLabel, "Normal"); ``` 这将停止闪烁动画并将Label控件的透明度设置为默认值1。 总之,使用VisualStateManager可以很方便地为WPF应用程序添加闪烁动画的报警功能。而且,VisualStateManager还可以用于创建其他类型的动画效果,如渐变、旋转、缩放等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值