任何想法我会遵循什么方法让数据绑定列表框的项目"飞"到他们在列表框中的位置,类似于你在那些Windows Card游戏中处理一副牌时的效果?(我正在使用WPF)
您需要扩展该类Panel并将其用作ItemsPanelTemplate您的ListBox.ItemsPanel财产。这真的很简单......只有两种方法可以重写;一个用于测量其中的项目,ListBox另一个用于排列它们。这是有关该主题的微软文章。
这可能是一篇更有用的文章[不幸的是,不再可用],它展示了如何为项目设置动画。对于您的效果,您只需将位置动画的 from 值设置为每个项目的可视区域之外的同一位置即可。例如,使用 from 位置0, finalSize.Height意味着每个项目将从 的左下角滑到其位置ListBox。您可以按如下方式使用新动画Panel:
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<YourXmlNamespace:YourAnimatedPanel AnyCustomProperty="value" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Run Code Online (Sandbox Code Playgroud)