如何在Windows 8上为ListView / GridView上的项目设置动画

时间:2014-03-09 09:46:09

标签: c# xaml windows-8 windows-store-apps winrt-xaml

我有一个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>

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

动画第一次有效,但当我清除MyItems并添加新项目时,没有任何反应!

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

1 个答案:

答案 0 :(得分:0)

我在listview的最后一个项目中完成了扩展列表。 我的代码是删除列表视图中的所有项目。

ListView1.Items.Clear();

然后我再次使用每个循环重新创建项目。

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