首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定到DoubleAnimation.To

绑定到DoubleAnimation.To
EN

Stack Overflow用户
提问于 2015-05-21 05:54:11
回答 1查看 1.6K关注 0票数 2

我希望将DoubleAnimation.To绑定到依赖属性,并在该属性更改时触发动画。我可以让基本的动画工作,但不知道如何在属性改变时触发它。

这个例子展示了我试图让Rectangle的Canvas.Left属性动画化。请注意,我已经将DoubleAnimation.To绑定到了位置。我想让动画在位置改变时运行并移动我的矩形。有人能帮我找出正确的引爆器吗?

代码语言:javascript
复制
<Viewbox>
<Canvas Height="200" Width="200">
    <Rectangle Name="MyRectangle" Canvas.Left="50" Canvas.Top="50" Width="100" Height="100" Fill="Blue">
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="Rectangle.Loaded">
                <BeginStoryboard>
                    <Storyboard Name="MyStoryboard">
                        <DoubleAnimation Storyboard.TargetName="MyRectangle" 
                                            Storyboard.TargetProperty="(Canvas.Left)"
                                            To="{Binding Position}" Duration="0:0:5" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
    </Rectangle>
</Canvas>

EN

回答 1

Stack Overflow用户

发布于 2015-05-21 06:39:59

答案是使用EventTrigger并将其RoutedEvent属性设置为Binding.TargetUpdated。此外,您还必须将NotifyOnTargetUpdated=True添加到绑定中(在我的示例中,位置)。

代码语言:javascript
复制
        <Viewbox>
        <Canvas Height="200" Width="200">
            <Rectangle Name="MyRectangle" Canvas.Left="50" Canvas.Top="50" Width="100" Height="100" Fill="Blue">
                <Rectangle.Triggers>
                    <EventTrigger RoutedEvent="Binding.TargetUpdated">
                        <BeginStoryboard>
                            <Storyboard Name="MyStoryboard">
                                <DoubleAnimation Storyboard.TargetName="MyRectangle" 
                                                    Storyboard.TargetProperty="(Canvas.Left)"
                                                    To="{Binding Position, NotifyOnTargetUpdated=True}" Duration="0:0:5" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Rectangle.Triggers>
            </Rectangle>
        </Canvas>
    </Viewbox>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30361056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档