在我的项目中,我有一个绑定到 ObservableCollection 的 WPF 列表框。每次我将新项目添加到集合时,相同的项目都会自动添加到列表框中。为了在列表框中显示项目,我使用了 XAML 数据模板。
我想要做的是在将项目添加到集合/列表框时为其设置一次动画。这可以做到吗?作为数据模板中的动画可能?我想我需要一个触发器来启动这个动画但是当一个新的项目/数据模板被添加时会触发什么触发器?
在我的项目中,我有一个绑定到 ObservableCollection 的 WPF 列表框。每次我将新项目添加到集合时,相同的项目都会自动添加到列表框中。为了在列表框中显示项目,我使用了 XAML 数据模板。
我想要做的是在将项目添加到集合/列表框时为其设置一次动画。这可以做到吗?作为数据模板中的动画可能?我想我需要一个触发器来启动这个动画但是当一个新的项目/数据模板被添加时会触发什么触发器?
我认为 FrameworkElement.Loaded 路由事件的事件触发器可以工作。例如:
<DataTemplate DataType="{x:Type l:Foo}">
<Button x:Name="Button" Content="{Binding Path=Bar}">
<Button.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Tan" />
</Button.Background>
</Button>
<DataTemplate.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="Button">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush" Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</DataTemplate.Triggers>
</DataTemplate>