首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF:如何对组件列表进行动画处理?

WPF:如何对组件列表进行动画处理?
EN

Stack Overflow用户
提问于 2010-02-16 06:03:50
回答 1查看 4.1K关注 0票数 3

假设我有一个可视对象列表(CustomControls)。它们可能在StackPanel中,也可能是ListView上的项,我认为容器就是这个问题的一部分。

在视觉上,您可以将这些对象视为队列中的项。每次我从这个队列的底部弹出一个对象时,我都想让整个队列具有动画效果,弹出的对象离开图框,而新的对象(假设查看框只显示一个子集)与其余元素一起滑入。

创建这个动画的最好的方法是什么,最好的容器是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-16 06:10:19

看看凯文·摩尔的AnimatingTilePanel吧。将元素添加到面板或从面板中删除元素时,其余项目将以动画形式移出或占据剩余空间。除了基于StackPanel逻辑之外,您可能希望执行类似的操作。

不过,您需要从两个部分来处理这个问题。第二个大概要容易得多。

  1. 创建一个面板(而不是控件),以便以所需的方式为其子项设置动画。
  2. 创建一个ListBox模板,该模板指定一个使用新面板而不是默认堆栈面板的ItemsPanelTemplate

最后,我们的想法是根本不需要创建自定义ListBox控件。您与ListBox的交互(将通过其Items属性或最好是绑定的集合)将完全相同,就好像根本没有动画一样。您将依赖自定义Panel类来完成提供动画的工作。

更新

我还找到了这个样例,AnimatedLayoutPanel,它非常相似,但有一个很好的基于Silverlight的展示。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2269248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档