如何在Windows8的ListView/GridView上动画项目

本文关键字:GridView 动画 项目 ListView Windows8 | 更新日期: 2023-09-27 17:49:18

我有一个listview

<ListView x:Name="MyList"   ItemsSource="{Binding MyItems}" Width="420" MaxHeight="500"
                 ItemTemplate="{StaticResource MyDataTemplate}"  ItemContainerStyle="{StaticResource MyListViewItemStyle}" >
                    <ListView.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel >
                                <StackPanel.ChildrenTransitions>
                                <TransitionCollection  >
                                    <EntranceThemeTransition
                                        FromHorizontalOffset="460" />
                                    </TransitionCollection>
                                </StackPanel.ChildrenTransitions>                                
                            </StackPanel>
                    </ItemsPanelTemplate>
                    </ListView.ItemsPanel>
                </ListView>

我从ViewModel中清除MyItems并添加新项。

发生的是动画第一次工作,但是当我清除MyItems并添加新项目时,什么都没有发生!

我想在清除项目并添加新项目时再次运行动画,我可以从CodeBehind运行它吗?

如何在Windows8的ListView/GridView上动画项目

我已经在我的最后一个项目中为listview做了一个扩展列表。我后面的代码是删除listview中的所有项目。

ListView1.Items.Clear();

然后我重新创建每个循环使用的项。

string[] lv = {"item1", "item2", item3"}
foreach (string val in lv)
        {
            var lvi = new ListViewItem { Content = val };
            ListView1.Items.Add(lvi);
        }