отключить анимацию в XAML? - PullRequest
3 голосов
/ 22 марта 2012

Если у меня есть анимация раскадровки, определенная в ресурсах 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 голос
/ 22 марта 2012

Способ 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...