Animate WPF Datatemplate when item added to Listbox?
Asked Answered
S

1

28

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?

Subauricular answered 12/3, 2009 at 9:20 Comment(0)
C
26

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>
Caughey answered 12/3, 2009 at 14:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.