请问如何在listview删除item时添加动画效果呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何在listview删除item时添加动画效果呢?相关的知识,希望对你有一定的参考价值。
参考技术A 请问删除item不是通过重新调用getview实现的吗?有专门在删除item时响应的事件吗. 参考技术B 删除item的时候你有事件吧,你写一个动画。这个时候你删除的事件响应的时候,你启动动画 参考技术C 删除item的时候你有事件吧,你写一个动画。这个时候你删除的事件响应的时候,你启动动画如何删除ListView添加项目动画?
我有一个ListView
,我编辑了它的ItemContainerStyle
来修改一些风格,但我不知道如何在添加项目时删除烦人的动画。
使用ItemsControl
,当您添加新项目时,它会立即显示,没有任何动画。
使用ListView
,该项目需要一段时间,然后,它会启动动画显示。
我只想删除那个add animation
,当我点击Add item
它立即出现,没有额外的东西。
我认为它应该属于ItemContainerStyle
但是我甚至评论了所有的视觉状态动画并且仍然存在。我错过了一些东西。
这些动画称为过渡,它们是ListViewStyle
的一部分。要更改它,请右键单击设计器中的ListView
控件,然后选择Edit Template
> Edit a Copy...
。这将为您的XAML添加内置样式。
您感兴趣的是以下部分风格:
<Setter Property="ItemContainerTransitions">
<Setter.Value>
<TransitionCollection>
<AddDeleteThemeTransition/>
<ContentThemeTransition/>
<ReorderThemeTransition/>
<EntranceThemeTransition IsStaggeringEnabled="False"/>
</TransitionCollection>
</Setter.Value>
</Setter>
我不确定你不喜欢哪个动画,但尝试从AddDeleteThemeTransition
删除EntranceThemeTransition
和/或TransitionCollection
。它应该做的伎俩。
不要忘记确保将修改后的样式应用于所需的ListView
。
它可能位于默认的ItemsPanel中。
你可以尝试这样的事情:
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel>
<VirtualizingStackPanel.ChildrenTransitions>
<TransitionCollection/>
</VirtualizingStackPanel.ChildrenTransitions>
</VirtualizingStackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
为什么你要反对设计语言中Fast and Fluid的流畅部分呢?您是否尝试实施比模板更平淡的东西,或者您是否计划添加自己的过渡?
感谢Damir的回答,这就是我做到的。只需在App.xaml中添加它即可
<Application...>
<Application.Resources>
<ResourceDictionary>
...
<Style TargetType="ListView">
<Setter Property="ItemContainerTransitions">
<Setter.Value>
<TransitionCollection/>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
在UWP中,我创建了以下代码来删除动画:
// Remove Add/Delete animations
TransitionCollection tc = _listView.ItemContainerTransitions;
for (int i = tc.Count - 1; i >= 0; i--) if (tc[i] is AddDeleteThemeTransition) tc.RemoveAt(i);
以上是关于请问如何在listview删除item时添加动画效果呢?的主要内容,如果未能解决你的问题,请参考以下文章
精通RecyclerView:打造ListViewGridView瀑布流;学会添加分割线 添加删除动画 Item点击事件