动画TreeViewItem一个接一个?

时间:2012-03-19 19:29:15

标签: c# wpf silverlight xaml animation

再次,我为TreeView创建了TreeViewItem动画,它使用TreeViewItem.Loaded来触发动画:

<Style TargetType="{x:Type TreeView}"> 
    <Style.Resources> 
        <Style TargetType="{x:Type TreeViewItem}"> 
            <Style.Triggers> 
                <EventTrigger RoutedEvent="TreeViewItem.Loaded"> 
                    <BeginStoryboard> 
                        <Storyboard> 
                            <DoubleAnimation Storyboard.TargetProperty="Opacity" 
                                             From="0" To="1" BeginTime="00:00:00" Duration="00:00:01" FillBehavior="Stop"/> 
                        </Storyboard> 
                    </BeginStoryboard> 
                </EventTrigger> 
            </Style.Triggers> 
        </Style> 
      </Style.Resources> 
</Style> 

但是现在当TreeView扩展TreeViewItem时,所有TreeViewItem都被加载,并且所有触发动画都在同一时间。

我有什么方法可以一个接一个地动漫他们吗?所以第一个项目淡入,然后是第二个项目。

编辑:

我刚刚在SO中找到this,给出了解决方案:

  

一个。创建一个动画不透明的故事板,并将其应用于   ItemTemplate中

     

B中。在后台线程上使用计时器将项目逐个添加到绑定集合

我想知道这是唯一的解决方案吗?

0 个答案:

没有答案