Wpf 如何让ItemsCollection中的元素在拖放操作期间播放布局动画,以便为插入元素腾出空间

Wpf 如何让ItemsCollection中的元素在拖放操作期间播放布局动画,以便为插入元素腾出空间,wpf,mvvm,drag-and-drop,Wpf,Mvvm,Drag And Drop,这是我的设想。我希望能够在项目集合中拖放元素,并在项目移动到位时让其他元素让路。。。我还希望这是MVVM友好的 从高层次的角度来看,在我看来,您应该能够将某种交互行为附加到items集合,只需获取拖动项的布局大小,并根据新的布局数据洗牌元素,但我完全不知道如何实现这样的功能 其他应考虑的特征是 拖动操作期间在scrollviewer边缘上自动滚动 插入的对象可能大小不一 在我看来,我需要使用FluidMoveBehavior查看位于的项目。它可以帮助你解决你的问题。解决方案是MVVM,它基于

这是我的设想。我希望能够在项目集合中拖放元素,并在项目移动到位时让其他元素让路。。。我还希望这是MVVM友好的

从高层次的角度来看,在我看来,您应该能够将某种交互行为附加到items集合,只需获取拖动项的布局大小,并根据新的布局数据洗牌元素,但我完全不知道如何实现这样的功能

其他应考虑的特征是

  • 拖动操作期间在scrollviewer边缘上自动滚动
  • 插入的对象可能大小不一

在我看来,我需要使用FluidMoveBehavior查看位于的项目。它可以帮助你解决你的问题。解决方案是MVVM,它基于将拖放行为附加到UI元素并自定义处理DragXXX事件的方式

你看过这篇文章了吗?它提供了一个非常好的拖放实现。至于大小不同的项目,这取决于您的
ItemsControl.ItemsPanelTemplate
是什么,当然,拖放操作实际上是视图特定的操作,如果您在代码隐藏文件上实现此操作,它将是MVVM友好的。