C# 一个接一个地为TreeView项目设置动画?

C# 一个接一个地为TreeView项目设置动画?,c#,wpf,silverlight,xaml,animation,C#,Wpf,Silverlight,Xaml,Animation,同样,我有我的TreeView的TreeViewItem动画,它使用TreeViewItem.Loaded来触发动画: <Style TargetType="{x:Type TreeView}"> <Style.Resources> <Style TargetType="{x:Type TreeViewItem}"> <Style.Triggers> <E

同样,我有我的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都会被加载,并且所有这些都会同时触发动画

有没有办法让我把他们一个接一个地动画化?因此,第一项淡入,然后是第二项

编辑:

我刚刚发现,在给定的解决方案中:

A.创建一个动画不透明度的故事板,并将其应用于 项目模板

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


我想知道这是唯一的解决办法吗

那么,你的意思是,当节点的collectiove父节点展开时,你想一个接一个地设置节点不透明度的动画吗?@AngelWPF是的,这不可能吗?除非我真的喜欢另一个解决方案。使用计时器一个接一个地添加它们?我现在推荐解决方案B。