在XAML中禁用动画?

时间:2012-03-22 16:46:52

标签: c# wpf wpf-controls

如果我在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 个答案:

答案 0 :(得分:1)

此处描述了XAML方式:http://msdn.microsoft.com/en-us/library/ms741997.aspx

代码背后: 您可以使用FindResource获取StoryBoard,将其转换为StoryBoard并调用Stop。

修改:有关详细了解故事板和代码背后的信息,请参阅http://www.galasoft.ch/mydotnet/articles/article-2006102701.aspx

编辑:在触发器中使用属性:

<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>