【问题标题】:Animation on the ItemsSource binding on a ListViewListView 上 ItemsSource 绑定的动画
【发布时间】:2015-02-09 16:15:52
【问题描述】:

我有一个通用应用程序解决方案,在 Windows 项目中,我正在使用类似于拆分页面模板的主从视图。左侧的 ListView 包含项目,右侧的 ListView 包含项目详细信息。

第二个 ListView 的绑定是通过

ItemsSource="{Binding Path=SelectedItem.Stages, ElementName=itemListView}"

并且在更改所选项目时效果很好(itemListView 是第一个 ListView 的名称)。

我遇到的问题是第二个 ListView 的动画,当我选择一个具有更大细节列表的项目时,比如说从 5 到 8。

当我选择带有 8 个“详细信息”的项目时,3 个项目被添加到右侧 ListView 的末尾,前 5 个项目被新的 5 个换出(通过淡入和向右移动)半秒后。这看起来很奇怪,视觉效果也不讨喜。

当更改为具有较少项的列表时也会发生同样的情况:最后 3 个立即被删除,其余 5 个逐渐消失到新的,但这种效果并不那么突出。

有什么我可以做的吗?

更新

Video

【问题讨论】:

  • 很难仅通过描述来形象化您的问题。您能否提供一些 xaml 或者更简单的东西来重现该问题,以便我们也可以看到您所看到的内容?
  • 用底部的视频链接更新了帖子。
  • 那么实际上是 3 个列表视图,其中 2 个在右侧堆叠在另一个之上吗?
  • 不,就像我在帖子中所说的那样,它是 VS 附带的拆分视图页面的模板。左侧的 ListView 带有项目,当我选择一个时,右侧的 ListView 会通过帖子中的数据绑定语句填充,但是当填充比以前更多的项目时会产生这种效果。
  • 我只是想了解为什么其中 3 个似乎是静态的,而其余的则充当实际项目,这很奇怪,可能有助于更多地显示一些代码 amigo

标签: xaml listview winrt-xaml


【解决方案1】:

要禁用 ListViewItems 动画,您只需清除 TransitionCollection 或在 xaml 中将其声明为空:

<ListView>
 <ListView.ItemContainerTransitions>
  <TransitionCollection />
 </ListView.ItemContainerTransitions>
<ListView>

【讨论】:

  • 太好了,这停止了视频中的怪异效果。仍然无法理解为什么只有列表中的某些项目受到影响。谢谢
猜你喜欢
  • 2011-01-14
  • 2012-01-08
  • 2014-12-08
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
  • 2018-11-23
相关资源
最近更新 更多