首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建动画后启动的EventSetter

如何创建动画后启动的EventSetter
EN

Stack Overflow用户
提问于 2014-05-28 04:06:21
回答 1查看 1.3K关注 0票数 3

我需要在动画结束后更改对象的属性。当我读到“完成”的时候,我很高兴,但当我尝试的时候:

代码语言:javascript
复制
<Storyboard>
    <ColorAnimation 
     Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
     To="RoyalBlue"
     Duration="0:0:1"
     Completed="ColorAnimation_Completed"/>
</Storyboard>

我得到了:

不能在Style中的Target标记上指定事件“Completed”。请改用EventSetter。

在这种情况下如何创建EventSetter?

EN

回答 1

Stack Overflow用户

发布于 2014-10-29 02:52:38

如果这是在样式中设置的,您可以将情节提要设置为当前使用的任何控件的静态资源:

代码语言:javascript
复制
    <UserControl.Resources>
         <storyboard x:Key"Animation">
            <ColorAnimation 
            Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
            To="RoyalBlue"
            Duration="0:0:1"
            Completed="ColorAnimation_Completed"/>
         </Storyboard>
</UserControl.Resources>

然后,在你的控制下:

代码语言:javascript
复制
<Style x:Name="Style" TargetType="{x:Type yourcontroltype}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=whatevertriggeresyouranimation}" Value="triggerValue" >
                    <DataTrigger.EnterActions>
                        <BeginStoryboard Storyboard="{StaticResource Animation}">
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                </DataTrigger>
            </Style.Triggers>
       </Style>

您需要在这里填写几个变量,因为我看不到您正在做的事情,但这将会起作用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23897985

复制
相关文章

相似问题

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