【问题标题】:ListViewItems Animation no longer workingListViewItems 动画不再起作用
【发布时间】:2013-02-17 11:35:42
【问题描述】:

在使用 Picker 选择一些图片后,我的 XAML 中有一个 ListView,其中包含多个缩略图。我的问题是,我已经更改了下面的项目面板模板,现在添加删除项目的动画根本不起作用。这些项目只是弹出或消失......

这是我的 ListView 的样子:

<ListView x:Name="ThumbnailsListView"
          ItemTemplate="{StaticResource ImageTemplate}"
          ItemsSource="{Binding Images}"
          SelectionMode="Multiple"
          SelectionChanged="OnThumbnailsSelectionChanged">
          <ListView.ItemsPanel>
              <ItemsPanelTemplate>
                  <WrapGrid Orientation="Horizontal" >
                      <WrapGrid.ChildrenTransitions>
                          <TransitionCollection>
                              <ContentThemeTransition/>
                          </TransitionCollection>
                       </WrapGrid.ChildrenTransitions>
                   </WrapGrid>
              </ItemsPanelTemplate>
          </ListView.ItemsPanel>
</ListView>

可能出了什么问题?如果我用ItemsPanelTemplate 剪掉部分,动画还可以,但视觉效果不是我们想要的。 我希望项目水平填满面板,然后继续下一行。

【问题讨论】:

  • 你还记得怎么解决吗?

标签: xaml listview animation windows-runtime


【解决方案1】:

您需要在 ChildrenTransitions 集合中获取其他转换,例如 AddDeleteThemeTransition

【讨论】:

  • 我尝试了每个过渡,但仍然无法正常工作,每次我从我的虚拟机中添加一个新项目或删除一个项目时,这些项目都会消失或出现没有动画......跨度>
  • 估计也是操作耗时的问题吧?我正在选择文件,然后创建缩略图图像和关联的可写位图......我已经消除了 ChildrenTransitions,现在添加了整个项目组的动画。不是我想要的,但我想我没有其他办法......
  • 删除整个 ItemsPanel 定义时是否获得动画?如果不是,那么过渡可能会在图像加载之前运行。
  • 是的,如果我删除整个 ItemPanel 定义,我仍然有动画。但是如果我这样做,那么我将得到一个 ListView,其中的项目堆叠在一列上,我实际上想要一个 Gridview,但项目首先排列在行上,而不是像标准 Gridview 那样包含的列。那么,在这种情况下,您能否就如何解决这个问题提供任何建议?
  • 您可以只使用GridView 并将ItemsPanel 更改为具有所需方向的WrapGridAddDeleteThemeTransition 应该作为你所缺少的东西的过渡。如果它不播放,可能是因为性能问题(图像仅在转换完成或几乎完成后加载)。另一个可能的问题是您的Image 控件没有预定义的Width/Height。在这种情况下,某些转换可能不起作用。
猜你喜欢
  • 2012-05-05
  • 1970-01-01
  • 2011-12-12
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多