我有一个显示 RSS 提要项目的 WPF ListBox 控件。我偶尔会检查新项目的 RSS 源的来源。一旦我检测到一个新项目,我就会将它添加到可观察集合中,该集合会立即将新项目添加到 ListBox 显示中。
有没有办法从顶部“滑入”新项目,向下推现有项目?我怎样才能达到这样的效果?可以用 ListBox 来完成,还是我需要求助于我自己的容器,例如 StackPanel 并以编程方式为新添加的控件的高度设置动画?
我有一个显示 RSS 提要项目的 WPF ListBox 控件。我偶尔会检查新项目的 RSS 源的来源。一旦我检测到一个新项目,我就会将它添加到可观察集合中,该集合会立即将新项目添加到 ListBox 显示中。
有没有办法从顶部“滑入”新项目,向下推现有项目?我怎样才能达到这样的效果?可以用 ListBox 来完成,还是我需要求助于我自己的容器,例如 StackPanel 并以编程方式为新添加的控件的高度设置动画?
我刚刚发布了一个与您的问题非常相似的问题的答案。
可以使用 ListBox 来完成。使用 ItemContainerStyle 为绑定为您创建的 ListBoxItems 设置样式:此样式可以包括动画,例如,通过将 Loaded 事件的 EventTrigger 添加到 Style.Triggers 和变换。例如,在您的触发操作中,您可以为高度设置动画,以便项目展开到位,或者如果高度未知,您可以让您的样式设置一个 ScaleTransform 并在您的触发操作中将该转换的 ScaleY 设置为动画,从 0 到 1。