In my project I have a WPF Listbox bound to an ObservableCollection. Every time I add a new item to the Collection the same item is added to the Listbox automaticly. To display the items in the Listbox I use a XAML Datatemplate.
What I want to do is animate an item once when it is added to the Collection/Listbox. Can this be done? As animation in the datatemplate maybe? I guess I need a trigger somehow to start this animate but what trigger is fired when a new item/datatemplate is added?
I think an event trigger for the FrameworkElement.Loaded routed event could work. For example:
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With