Animer WPF Datatemplate lorsque l'élément est ajouté à Listbox?

Dans mon projet, j'ai une Listbox WPF liée à une ObservableCollection. Chaque fois que j'ajoute un nouvel élément à la Collection, le même élément est ajouté automatiquement à la Listbox. Pour afficher les éléments dans la Listbox, j'utilise un Datatemplate XAML.

Ce que je veux faire est d'animer un élément une fois lorsqu'il est ajouté à la Collection/Listbox. Cela peut-il être fait? Comme animation dans le datatemplate peut-être? Je suppose que j'ai besoin d'un déclencheur en quelque sorte pour démarrer cette animation mais quel déclencheur est déclenché quand un nouveau item/datatemplate est ajouté?

27
demandé sur TalkingCode 2009-03-12 12:20:43

1 réponses

Je pense qu'un déclencheur d'événement pour le FrameworkElement.L'événement routé chargé pourrait fonctionner. Par exemple:

<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>
25
répondu Daniel Pratt 2009-03-12 14:40:24