【问题标题】:How to animate items on ListView/GridView on Windows8如何在 Windows 8 上为 ListView/GridView 上的项目设置动画
【发布时间】:2014-03-09 09:46:09
【问题描述】:

我有一个列表视图

<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 运行它吗?

【问题讨论】:

  • 我认为第一次初始化你的项目集合,第二次你清除它添加新闻。如果是这种情况,然后重新初始化你的集合。因为它一次有效,那么它应该第二次有效时间也是。

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


【解决方案1】:

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

ListView1.Items.Clear();

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2017-05-14
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多