Подтвердить что ты не робот

Анимировать WPF Datatemplate, когда элемент добавлен в список?

В моем проекте у меня есть список WPF, связанный с ObservableCollection. Каждый раз, когда я добавляю новый элемент в коллекцию, тот же элемент автоматически добавляется в список. Чтобы отображать элементы в списке, я использую XAML Datatemplate.

То, что я хочу сделать, - это анимировать элемент один раз, когда он добавляется в Collection/Listbox. Это можно сделать? Как может быть анимация в datatemplate? Наверное, мне нужен триггер, чтобы запустить этот анимационный режим, но какой триггер запускается при добавлении нового элемента/datatemplate?

4b9b3361

Ответ 1

Я думаю, что триггер события для события 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>