2011-09-24 97 views
1

在我的WPF应用程序中,我有一个ListBox,我正在自定义ItemTemplate。在我的ItemTemplate中,我有一个选定项目的边框,我使用StoryBoard从0 - 1,然后1 - 0淡入/淡出。XAML Storyboard Fadein - Fadeout不透明度循环

我正在试图弄清楚如何使它循环。

我试图简单地为不透明度值为0时添加第二个触发器特性,但这最终应用于列表框中的所有项目,而不仅仅是选定的项目。

<Storyboard x:Key="FadeUpAndFlash"> 
<DoubleAnimation From="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:1" FillBehavior="Stop"/></Storyboard> 


<Border x:Name="HighlightBorder" BorderBrush="Yellow" BorderThickness="3" Margin="0,0,5,0" CornerRadius="10" ClipToBounds="True"> 
<Border.Style> 
    <Style TargetType="{x:Type Border}"> 
     <Setter Property="Opacity" Value="0"/> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="True"> 
       <DataTrigger.Setters> 
        <Setter Property="Opacity" Value="1"/> 
       </DataTrigger.Setters> 
       <DataTrigger.EnterActions> 
        <BeginStoryboard Storyboard="{StaticResource FadeUpAndFlash}" Name="AnimateImageBorder" /> 
       </DataTrigger.EnterActions> 
      </DataTrigger> 
      <Trigger Property="Opacity" Value="1"> 
       <Trigger.EnterActions> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2"/> 
         </Storyboard> 
        </BeginStoryboard> 
       </Trigger.EnterActions> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Border.Style> 

任何想法如何,我可以得到故事板循环?

回答

2

在您的DoubleAnimation中使用AutoReverse="True"
RepeatBehavior="Forever"如果你想使它无穷无尽。