C# 尽可能平滑地将元素从集合移动到其他集合

C# 尽可能平滑地将元素从集合移动到其他集合,c#,wpf,performance,observablecollection,C#,Wpf,Performance,Observablecollection,我在WPF中有一个GUI,它与两个ItemsControl绑定到一个集合集合:ObservableCollection 当我在黑色块(内部集合)中移动一个对象(灰色块)时,我可以使用ObservableCollection.move()方法。这工作非常顺利。但是,当我想将灰色对象从其集合移动到其他集合(其他黑框)时,我需要将其从源集合中移除,并将其添加到目标集合(图像上的红色箭头)。这相当慢,因为这个灰色框在WPF应用程序中是一个相当大的视图元素。有没有办法让这一切顺利进行?类似于Observ

我在WPF中有一个GUI,它与两个ItemsControl绑定到一个集合集合:
ObservableCollection

当我在黑色块(内部集合)中移动一个对象(灰色块)时,我可以使用
ObservableCollection.move()
方法。这工作非常顺利。但是,当我想将灰色对象从其集合移动到其他集合(其他黑框)时,我需要将其从源集合中移除,并将其添加到目标集合(图像上的红色箭头)。这相当慢,因为这个灰色框在WPF应用程序中是一个相当大的视图元素。有没有办法让这一切顺利进行?类似于
ObservableCollection.Move
但是从一个集合移动到另一个集合


如果您能给我们提供正确方向的提示,让我们在各个系列之间顺利移动,我们将不胜感激。

我想不出任何直接的方法。问题是:您有需要通知更改的ItemControl。从一个集合移动到另一个集合需要在一个集合中删除,然后插入到另一个集合中(以及两者的关联UI更新)。您最好的选择可能是一个自定义控件,管理所有项目,并将它们像在单独的集合中一样进行排列。这样可以避免删除和插入表示项目和相应布局周期的UI子项(最有可能是昂贵的部分),而只需重新排列UI子项。我想这是解决此问题的唯一方法。真遗憾。不过谢谢你的时间。我想不出直截了当的办法。问题是:您有需要通知更改的ItemControl。从一个集合移动到另一个集合需要在一个集合中删除,然后插入到另一个集合中(以及两者的关联UI更新)。您最好的选择可能是一个自定义控件,管理所有项目,并将它们像在单独的集合中一样进行排列。这样可以避免删除和插入表示项目和相应布局周期的UI子项(最有可能是昂贵的部分),而只需重新排列UI子项。我想这是解决此问题的唯一方法。真遗憾。谢谢你抽出时间。