首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态禁用EventTrigger\Storyboard

动态禁用EventTrigger\Storyboard
EN

Stack Overflow用户
提问于 2008-10-03 10:43:11
回答 3查看 1.5K关注 0票数 1
代码语言:javascript
复制
<Grid.Triggers>
    <EventTrigger RoutedEvent="Border.Loaded">
            <EventTrigger.Actions >
                    <BeginStoryboard>
                            <Storyboard x:Name="MyStoryboard"    AutoReverse="True" RepeatBehavior="Forever">
                                  <ColorAnimationUsingKeyFrames    BeginTime="00:00:00"  Storyboard.TargetName="border" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)">
                                       <SplineColorKeyFrame KeyTime="00:00:01" Value="#FFFAFAFA"/>
                                  </ColorAnimationUsingKeyFrames>
                            </Storyboard>
                    </BeginStoryboard>
            </EventTrigger.Actions>
    </EventTrigger>
</Grid.Triggers>

如何动态启用\禁用此事件触发器\动画。我在想我可以绑定到一个IValueConverter并禁用故事板,但似乎没有任何合适的属性来绑定?

EN

回答 3

Stack Overflow用户

发布于 2008-10-03 11:44:43

目前在Silverlight中唯一可用的触发器是“已加载”,对于所有其他事件,您必须编写一些代码。要使用这种技术,故事板应该放在参考资料部分而不是触发器中,并且您将从代码中调用故事板上的Begin()。

如果你正在做一个控件的模板化,那么有一些叫做转换的东西,可以让你基于控件事件启动故事板,比如MouseOver。这是由可视化状态管理器处理的:

http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx

票数 1
EN

Stack Overflow用户

发布于 2008-10-03 11:59:08

我并不是真的希望基于事件来关闭动画。我想基于我的业务对象的一个属性来做这件事,我也在绑定?我希望有类似Storyboard.Enabled =False的东西!?!?!

票数 0
EN

Stack Overflow用户

发布于 2008-10-19 00:10:38

您无法在Silverlight中使用触发器执行您所要求的操作。没有办法在触发器中包含条件。您可以连接已加载的事件,在那里检查您的条件,如果满足,则启动故事板。但是,并不存在仅XAML的等价物。

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

https://stackoverflow.com/questions/166295

复制
相关文章

相似问题

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