对数据模板中的单个项目进行动画处理

本文关键字:项目 动画 处理 单个 数据 | 更新日期: 2023-09-27 17:50:26

我试图在列表框上运行动画,当一个项目被更新。我有项目与可观察集合(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>

我们将感激地接受任何帮助。由于斯科特

对数据模板中的单个项目进行动画处理

这只是一个伪答案,因为你的问题的答案太宽泛了,要花很长时间才能详细介绍。最简单的答案是……需要在代码中手动访问相应的UIElement,并调用BeginAnimation方法启动Animation。希望这就是您所需要的。

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