2015-04-21 5 views
0

У меня есть следующие триггеры в моем XAML:Отключить/включить анимацию XAML

<ControlTemplate.Triggers> 
    <DataTrigger Binding="{Binding Path=IsOpened}" Value="true"> 
     <DataTrigger.EnterActions> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimationUsingKeyFrames 
         Storyboard.TargetName="Control" 
         Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"> 
         <LinearDoubleKeyFrame KeyTime="0:0:0.30" Value="-310"/> 
        </DoubleAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="OpenHelpText" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Hidden}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="CloseHelpText" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Visible}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="ClosePanel" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Visible}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="OpenPanel" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Hidden}"/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </DataTrigger.EnterActions> 
     <DataTrigger.ExitActions> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimationUsingKeyFrames 
         Storyboard.TargetName="Control" 
         Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"> 
         <LinearDoubleKeyFrame KeyTime="0:0:0.30" Value="0"/> 
        </DoubleAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="CloseHelpText" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Hidden}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="OpenHelpText" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Visible}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="ClosePanel" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Hidden}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames 
         Storyboard.TargetName="OpenPanel" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0.30" 
               Value="{x:Static Visibility.Visible}"/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </DataTrigger.ExitActions> 
    </DataTrigger> 
</ControlTemplate.Triggers> 

И у меня есть некоторый динамический параметр, который говорит ли быть включена анимация, или нет. (Динамический - означает, что анимация должна быть включена/отключена при изменении значения параметра)

Каков наилучший способ отключить/включить анимацию?

UPD: В качестве альтернативы - возможно ли создать такую ​​же анимацию в коде?

+0

Попробуйте visualstatemanager – Jayasri

ответ

1

Обновить критерии запуска на вашем DataTrigger.

Вы уже встраиваете анимацию в свои DataTriggers.

В вашем случае, возможно, вы можете использовать MultiDataTriggers для учета нескольких условий, которые должны быть выполнены.

2

Refer this link like dis....

имя Bind элемент к основному property.Here я использовал Toggleswitch имя элемента я связать с кнопкой

Visibility="{Binding IsOn,ElementName=togglebutton}, Converter={StaticResource BooleanToVisibilityConverter}}" /> 
+0

Мне не нужна кнопка. Параметр, который у меня уже есть в моей модели. И основная часть моего вопроса касается точно анимации - что я могу сделать, чтобы отключить ее? – Ksice

Смежные вопросы