Wpf(Storyboard)动画简单实例

摘要:
--˃在程序调用位置中添加运行动画Storyboardsbd=Resources["动画名字"]asStoryboard;sbd.Begin();注意区分这里的名字和动画名字是不同的。RepeatBehavior获取或设置此时间线的重复行为。Forever循环动画DoubleAnimation它在指定的持续时间内将动画从指定的起始值继续到指定的目标值。

动画的三种变换方式

RotateTransform:旋转变换变化值:CenterX围绕转的圆心横坐标

CenterY纵坐标

Angle旋转角度(角度正负表示方向)

ScaleTransform缩放变换变化值:ScaleX横向放大倍数ScaleY纵向(负值时翻转)

TranslateTransform:平移变换变化值:X横坐标Y纵坐标

其中

<Image.Projection>后多了三种变化值,RotationXRotationYRotationZ分别围绕X Y Z轴转(单位度数)可以通过设置定时器来实现动画。

<控件.RenderTransform>

<变换方式x:Name = “名字></变换方式>

</控件.RenderTransform >

Wpf下使用:

xaml<window></winodw>中添加:

<window. Resources>

       <Storyboard x:Key=”动画名字”  RepeatBehavior="Forever"> 

              <DoubleAnimation Storyboard.TargetName="名字"

                             Storyboard.TargetProperty="变化值"

                             From="数 " To="数 "

                             BeginTime="XX:XX:XX"

                             Duration="XX:XX:XX">
            </DoubleAnimation>
        <!--可以同时变化多个值。-->

            <DoubleAnimation Storyboard.TargetName="名字"

                             Storyboard.TargetProperty="变化值"

                             From="数 " To="数 "

                             BeginTime="XX:XX:XX"

                             Duration="XX:XX:XX">

            </DoubleAnimation>

       </Storyboard>                     

</windows. Resources>

在程序调用位置中添加(一般在窗口加载方法中添加)运行动画

Storyboard sbd = Resources["动画名字"]asStoryboard;

sbd.Begin();

注意区分这里的名字动画名字是不同的。一般名字是控件的名字。

RepeatBehavior获取或设置此时间线的重复行为。Forever循环动画

DoubleAnimation它在指定的持续时间内将动画从指定的起始值继续到指定的目标值。

FromTo动画开始到结束变化的值

BeginTimeDuration动画开始到结束所用时间

DoubleAnimation中的值:

AutoReverse="True/False"

是否播放结束后倒序播放,例如:一朵云从左往右飘然后再从右往左飘回来

下面方式实例:

控件部分:

<Image Source="Images/cloud.png" Width="190" Height="50" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20,20,0,0">

<Image.RenderTransform>

<TranslateTransform x:Name="cloud"></TranslateTransform>

</Image.RenderTransform>

</Image>

动画部分:

<Window.Resources>

<Storyboard x:Key="sbCloud" RepeatBehavior="Forever">

<DoubleAnimation Storyboard.TargetName="cloud"

Storyboard.TargetProperty="X"

From="0"To="280"

BeginTime="00:00:00"

Duration="00:00:10">

</DoubleAnimation>

<DoubleAnimation Storyboard.TargetName="cloud"

Storyboard.TargetProperty="Y"

From="0"To="30"

BeginTime="00:00:00"

Duration="00:00:10">

</DoubleAnimation>

</Storyboard>

</Window.Resources>

这篇文章主要是给自己看的,描述错误请见谅。

免责声明:文章转载自《Wpf(Storyboard)动画简单实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇消息队列最大数目Vue中使用Sass全局变量下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QML 学习(三)

经过前面两个教程,文字也能显示,也能处理鼠标事件了,来点动画吧。 这个教程实现了当鼠标按住的时候,Hello,World从顶部到底部的一个旋转过程,并带有颜色渐变的效果。 完整的源代码main.qml import Qt 4.7Rectangle {id: page500; height: 200color: "lightgray"Text {id:...

wpf鼠标捕获与控件交互——UIElement.CaptureMouse

应用场景是这样的,我需要拖动一个元素在屏幕上移动,注册了被移动元素的MouseMove事件,但是当鼠标移到被移动元素的外面时,移动失效,且鼠标的手势变成了普通的箭头形状,于是就找到了以下的解决方案。 本例实现了一个鼠标控制控件移动的简单例子,配合鼠标捕获达成预想效果: 1.新建一个wpf应用程序,为了演示效果,xaml简单修改如下:共有两个圆(绿、黄),下...

window的设置属性

1.windowAnimationStyle   用于设置一组window动画的引用style资源,window的动画属性由R.styleable.WindowAnimation定义。   Winow动画类属性包含以下属性:     android:activityCloseEnterAnimation    主要是将R.attr.activityClo...

UE4_攻击伤害1_射线检测

首先在武器的结构体中添加一个代表武器攻击范围的变量 设置上各武器的攻击距离(ps.ue4里的默认单位是厘米,如图长矛的攻击距离是200cm) 读取当前武器的距离,发射相应长度的射线用于判定。 在播放声音之前新建一个动画通知,用于通知该发射判定射线了 然后把长矛的其他两个蓝图也加上同样的动画通知。 在动画蓝图的事件图表中写入逻辑。 当my attack...

在WPF中如何使用RelativeSource绑定

在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource。 这种办法的意思是指当前元素和绑定源的位置关系。 第一种关系: Self 举一个最简单的例子:在一个StackPanel中,有一个TextBlock。 <TextBlock FontSize="18" FontWeight="Bold" Margin="10"...

ios UILabel在storyBoard或xib中如何在每行文字不显示完就换行

大家知道怎么用代码让label中的文字换行,只需要 label.numberOfLines = 0; label.text = @"这是第一行啦啦啦啦, 这是第二行啦啦, 这是第三行"; 但是不想把label拖线出来设置,想懒一下在storyBoard或xib中如何实现呢! ps:label设置成自动换行的时候,高度的约束可以不设置,默认为label内文字...