2012-06-21 49 views
1

我有三个图像,其中两个图象的动画作为遵循和第三图像应该闪烁:WPF动画和变化图像的不透明度在序列

<Window.Resources> 
    <Storyboard x:Key="AnimateTarget" RepeatBehavior="Forever"> 

     <DoubleAnimationUsingKeyFrames BeginTime="0:0:0" Duration="0:00:03" Storyboard.TargetName="img1" Storyboard.TargetProperty="Y"> 
      <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0" /> 
      <EasingDoubleKeyFrame KeyTime="0:0:1" Value="200" /> 
      <EasingDoubleKeyFrame KeyTime="0:0:2" Value="0" /> 
     </DoubleAnimationUsingKeyFrames> 

     <DoubleAnimationUsingKeyFrames BeginTime="0:0:2" Duration="0:00:03" Storyboard.TargetName="img2" Storyboard.TargetProperty="x"> 
      <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0" /> 
      <EasingDoubleKeyFrame KeyTime="0:0:1" Value="200" /> 
      <EasingDoubleKeyFrame KeyTime="0:0:2" Value="0" /> 
     </DoubleAnimationUsingKeyFrames> 

     <DoubleAnimation BeginTime="0:0:4" Duration="0:0:0.5" Storyboard.TargetProperty="(Image.Opacity)" Storyboard.TargetName="img3" From="1.0" To="0.0" RepeatBehavior="Forever" AutoReverse="True" /> 

    </Storyboard> 
</Window.Resources> 

前两个图像被动画细但第三图像没有按”牛逼闪烁,什么也不做,只是呆在那里,你可以看到我用下面的代码闪烁第三图像:

<DoubleAnimation BeginTime="0:0:4" Duration="0:0:0.5" Storyboard.TargetProperty="(Image.Opacity)" Storyboard.TargetName="img3" From="1.0" To="0.0" RepeatBehavior="Forever" AutoReverse="True" /> 

而且这是第三图像的代码:

<Image Height="65" Name="image1" Stretch="Fill" Width="67" Source="/PicTakeWPF;component/Images/422505_110594629067212_100003500265268_37406_1212153553_n.jpg"> 
    <Image.RenderTransform> 
     <TranslateTransform x:Name="img3"></TranslateTransform> 
    </Image.RenderTransform> 
</Image> 

,如果有人可以帮助我在此感谢 我将不胜感激,

回答

4

尝试使用图像对象为Storyboard.TargetName的名称(图像1)不透明度动画

<DoubleAnimation BeginTime="0:0:4" Duration="0:0:0.5" Storyboard.TargetProperty="(Image.Opacity)" Storyboard.TargetName="image1" From="1.0" To="0.0" RepeatBehavior="Forever" AutoReverse="True" /> 

,因为不透明度图像本身的一个属性,其他两个动画影响图像对象的翻译,这就是为什么您为这些动画使用TranslateTransform名称的原因。

你甚至都不需要添加

<Image.RenderTransform> 
    <TranslateTransform x:Name="img3"></TranslateTransform> 
</Image.RenderTransform> 

第三图像(如果你不是动画的翻译计划)。

+0

谢谢,您的解决方案完美地工作。 – sam