在WPF XAML矩形旋转动画 [英] WPF Rotate rectangle animation in XAML

查看:254
本文介绍了在WPF XAML矩形旋转动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能无限旋转矩形 - 只有在XAML定义。到目前为止,我发现code,但没有XAML的解决方案:
<一href=\"http://www.$c$cproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial\">http://www.$c$cproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial
我用这样的:

How can I rotate a rectangle infinitely - ONLY within xaml definition. So far I found a solution with code but no xaml: http://www.codeproject.com/Articles/23257/Beginner-s-WPF-Animation-Tutorial which I use like this:

    private void Window_Loaded_1(object sender, RoutedEventArgs e)
    {
        var da = new DoubleAnimation(360, 0, new Duration(TimeSpan.FromSeconds(1)));
        var rt = new RotateTransform();
        rect1.RenderTransform = rt;
        rect1.RenderTransformOrigin = new Point(0.5, 0.5);
        da.RepeatBehavior = RepeatBehavior.Forever;
        rt.BeginAnimation(RotateTransform.AngleProperty, da);
    }

但我怎么可以用XAML实现这一目标只?

But how can I achieve this with XAML only?

推荐答案

像这样

<Rectangle x:Name="rect1" RenderTransformOrigin="0.5, 0.5">
    <Rectangle.RenderTransform>
        <RotateTransform/>
    </Rectangle.RenderTransform>
    <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)" To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Rectangle.Triggers>
</Rectangle>

当然,你可以删除加载触发,只要你想运行此脚本中。

Of course you can remove Loaded trigger and run this storyboard whenever you want.

这篇关于在WPF XAML矩形旋转动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆