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

Слайд-анимация ListBox Добавлен новый элемент

Я работаю над новостной лентой. Это будет обновляться каждый раз так часто, и если будут найдены новые элементы, я хочу сместиться в новом контенте сверху.

Прямо сейчас, я просто затухаю, делая следующее:

<ListBox Grid.Row="0" Height="Auto" HorizontalAlignment="Stretch" Margin="5,5,5,5"  VerticalAlignment="Top" ItemsSource="{Binding NewsItems,UpdateSourceTrigger=PropertyChanged}" >
        <ListBox.ItemContainerStyle>                
            <Style TargetType="{x:Type ListBoxItem}">                    
                <Style.Triggers>                                        
                        <EventTrigger RoutedEvent="Loaded">
                        <EventTrigger.Actions>                                
                            <BeginStoryboard>
                                <Storyboard>                                      
                                    <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" />     
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </Style.Triggers>
            </Style>
            </ListBox.ItemContainerStyle>
        <ListBox.ItemTemplate>    
        ....
</ListBox>

Это отлично работает, но мне бы очень хотелось, чтобы предмет был включен. Я пробовал все возможные вещи, которые мог найти и не могу никуда уйти. Любая помощь будет высоко оценена.

4b9b3361

Ответ 1

Это то, что вы ищете?

 <ListBox x:Name="lstBox" Grid.Row="0" Height="Auto" HorizontalAlignment="Stretch" Margin="5,5,5,5"  VerticalAlignment="Top" ItemsSource="{Binding NewsItems,UpdateSourceTrigger=PropertyChanged}" >
        <ListBox.ItemContainerStyle>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="LayoutTransform">
                    <Setter.Value>
                        <ScaleTransform x:Name="transform" />
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <EventTrigger RoutedEvent="Loaded">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" />
                                    <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY" From="0" Duration="0:0:.2"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </Style.Triggers>
            </Style>
        </ListBox.ItemContainerStyle>
    </ListBox>