2012-02-12 34 views
1

我只是在學習Silverlight(在C#中)而我遇到了問題。 我有14個矩形,其寬度/高度設置爲「自動」。我想在MouseEnter/MouseLeave上創建動畫。動畫只會改變寬度/高度。我爲Silverlight 5使用了Expression Blend,並且一切正常,但它製作了巨大的代碼。我可以爲所有矩形制作一些資源動畫嗎?如何在Silverlight中爲多個控件使用一個動畫

這是由混合製成的XAML代碼,我有14個這樣的塊

<Storyboard x:Name="BigTableOne_MouseEnter"> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="Table1"> 
      <EasingDoubleKeyFrame KeyTime="0" Value="1"/> 
      <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1.04"/> 
     </DoubleAnimationUsingKeyFrames> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="Table1"> 
      <EasingDoubleKeyFrame KeyTime="0" Value="1"/> 
      <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1.04"/> 
     </DoubleAnimationUsingKeyFrames> 
    </Storyboard> 
    <Storyboard x:Name="BigTableOne_MouseLeave"> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="Table1"> 
      <EasingDoubleKeyFrame KeyTime="0" Value="1.04"/> 
      <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/> 
     </DoubleAnimationUsingKeyFrames> 
     <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="Table1"> 
      <EasingDoubleKeyFrame KeyTime="0" Value="1.04"/> 
      <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/> 
     </DoubleAnimationUsingKeyFrames> 
    </Storyboard> 

回答

0

你的所有故事板具有除了「Storyboard.TargetName」 property.So你可以刪除這個屬性和設置相同的內容動態運行。

您可以找到更多詳細信息here

相關問題