2012-03-22 47 views
3

如果我有一個在xaml資源中定義的故事板動畫,我該如何禁用它?在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

一個XAML的方式在這裏描述:http://msdn.microsoft.com/en-us/library/ms741997.aspx

後面的代碼: 您可以使用FindResource拿到故事板,將它轉換爲情節串連圖板,並呼籲停止。

編輯:查看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> 
+0

感謝您的答覆,它看起來像我必須使用事件觸發的停止動畫,我能做到這一點通過檢查一定像布爾型控件一樣的屬性? – user1202434 2012-03-22 16:55:40

+0

這太棒了。 +1 @Sascha – user1202434 2012-03-23 12:57:26