【问题标题】:Item Transition in a Grouped GridView分组 GridView 中的项目转换
【发布时间】:2014-11-30 12:00:49
【问题描述】:

我有一个 GridView,其中包含包含子项的组,并希望在添加子项时添加一个过渡。

GridView 现在看起来像这样:

我的项目面板:

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <ItemsWrapGrid GroupPadding="0,0,70,0">
            <ItemsWrapGrid.ChildrenTransitions>
                <TransitionCollection>
                    <EntranceThemeTransition />
                </TransitionCollection>
            </ItemsWrapGrid.ChildrenTransitions>
        </ItemsWrapGrid>
    </ItemsPanelTemplate>
</GridView.ItemsPanel>

DataSource 已启用 IsSourceGrouped

但我无法让项目过渡,它们只是立即弹出。

我已经尝试添加 ItemsWrapGrid.Transitions,但是只有组标题被动画化,而不是项目本身。 我也尝试向 GridView 本身添加过渡,但仍然没有项目过渡。

如何在 GridView 中为组的子级启用过渡?

我不确定这是否相关,但无论如何我都会提到: Items 从 Internet 加载并添加到 GridView 的 ItemsSource(一个 ObservableCollection)中。

一些项目一起加载,同时添加:

有些项目是这样加载的:

  1. 创建了一个组对象并将其添加到 ItemsSource
  2. 一项从 Internet 加载
  3. 项目正在作为子项添加到组对象中(它会立即在 GridView 中弹出)
  4. 从 2 开始重复,直到所有项目都加载完毕

其他一些项目:

  1. 创建了一个组对象并将其添加到 ItemsSource
  2. 从 Internet 加载多个项目
  3. 项目作为子项一次性添加到组中(全部立即在 GridView 中弹出)

我没有像在 Visual Studio 网格模板中那样使用 ViewModel 方法,而是手动设置了 ItemsSource。

【问题讨论】:

    标签: c# xaml windows-runtime winrt-xaml


    【解决方案1】:

    在 MSDN 中查看本教程:Animating list item changes (XAML)。你可以通过定义storyboard来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 2012-11-09
      • 1970-01-01
      相关资源
      最近更新 更多