在XAML中禁用动画?

3
如果我在XAML资源中定义了一个故事板动画,我该如何禁用它?
例如,如果我在UserControl.Resources部分有以下内容:
<Storyboard x:Key="MyKey">
        <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:.5" DecelerationRatio="1" />
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility">
            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>

有没有办法在 XAML 中禁用动画效果?

1个回答

1
这里介绍了一种 XAML 方法:http://msdn.microsoft.com/en-us/library/ms741997.aspx 后台代码: 您可以使用FindResource获取Storyboard,将其转换为Storyboard并调用Stop。
编辑:请参见http://www.galasoft.ch/mydotnet/articles/article-2006102701.aspx,深入了解Storyboard和后台代码。
编辑:在触发器中使用属性:
<MultiTrigger>
    <MultiTrigger.Conditions>
        <Condition Property="IsActive" Value="True"/>
    </MultiTrigger.Conditions>
    <MultiTrigger.EnterActions>
        <BeginStoryboard Storyboard="{StaticResource StoryBoard1}"/>
    </MultiTrigger.EnterActions>
    <MultiTrigger.ExitActions>
        <BeginStoryboard Storyboard="{StaticResource StoryBoard2}"/>
    </MultiTrigger.ExitActions>
</MultiTrigger>

谢谢您的回复,看起来我需要使用事件触发器来停止动画,我可以通过检查控件上的某个属性(例如布尔值)来实现吗? - user1202434

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接