在datatemplate中为单个项目设置动画

时间:2014-03-14 13:09:14

标签: c# wpf silverlight xaml expression-blend

我正在尝试在项目更新时在列表框上运行动画。 我的项目与observablecollection(MVVM)运行良好,项目正在更新。 我已将此代码设置为列表框以运行动画但是它动画列表框中的所有项目并且我只想要实际更新的项目。

<DataTemplate.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="dockProjects">
    <BeginStoryboard>
        <Storyboard>
        <ColorAnimation Storyboard.TargetName="myAnimatedBackground" Storyboard.TargetProperty="Color" From="Orange" To="Transparent" Duration="0:0:2" RepeatBehavior="0:0:4" />
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>

任何帮助都会感激不尽。谢谢Scott

1 个答案:

答案 0 :(得分:0)

这只是一个伪回答,因为您的问题的答案过于宽泛,需要很长时间才能详细介绍。最简单形式的答案是......您需要手动访问代码中的相关UIElement并调用BeginAnimation方法启动Animation。希望这是您所需要的一切。

在最复杂的情​​况下,此调用可以在AnimatedPanel基类中,并且您的数据类型类可以具有特殊的自定义动画属性。例如,我有这样的设置并执行幻灯片动画,因为元素已从集合中删除,您必须延迟实际删除,执行动画并然后实际删除该项目。 / p>