Stackpanel添加项目动画

时间:2010-02-19 14:52:13

标签: wpf scroll slide stackpanel itemscollection

我一直在使用选框式图像滚动控件挣扎一段时间。

在某个时刻,我坚持使用模板化的ItemsControl:

<Window.Resources>
    <DataTemplate x:Key="itemsTemplate">
        <Image Source="{Binding AbsolutePath}"></Image>
    </DataTemplate>
</Window.Resources>
<ItemsControl ItemTemplate="{StaticResource itemsTemplate}" x:Name="ic"
              ItemsSource="{Binding ElementName=mainWindow, Path=DataItems}" VirtualizingStackPanel.IsVirtualizing="True">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel Orientation="Vertical" VerticalAlignment="Bottom" 
                                    VirtualizingStackPanel.IsVirtualizing="True" >                    
            </VirtualizingStackPanel>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

ItemsControl绑定到ObservableCollection,因此我可以在运行时添加项目。一旦项目离开屏幕,它就会从ObservableCollection中删除。

最后要做的是实现自定义项添加行为(平滑滑入而不是insert-translateothers行为)。 我应该从StackPanel派生来实现这样的效果,还是只对当前添加的项目执行DoubleAnimation? 任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

检查出来:Animate WPF Datatemplate when item added to Listbox。它会满足你的需求吗?