我正在开发一个基于 MVVM 的 WPF 应用程序,该应用程序使用DataGrid. 网格数据绑定到ObservableCollection<Widget>(Widget列表)。用户需要能够将 aWidget插入到 current-selected 下方的列表中Widget,以删除 selectedWidget并重新排序Widget网格上的 s。我将通过拖放实现重新排序。
在深入研究之前,我想对我的方法进行一次现实检查。这是我打算做的事情:Widget该类将具有一个Index用于对Widget列表进行排序的属性。添加、删除和重新排序将通过操作此 Index 属性来完成,排序将在Widget列表上完成,而不是通过CollectionView.
在DataContext设置之前,Widget列表将按Index属性排序。当用户添加 aWidget时,该Index属性将Widget在网格上所选项目的下方每增加 1,并且新的Widget将被赋予通过重新编号打开的索引号。该Widget列表将重新启用,并且绑定将被刷新。
当用户删除 aWidget时,Widget将从列表中删除,并且Index已删除项目下方网格上项目的属性将减 1。Widget列表将被重新使用,并且绑定刷新,如上。重新排序将作为删除和插入的组合完成。
这是我的问题:这是实现插入、删除和重新排序的合理策略吗?有没有更好的方法来解决它?关于这个主题的任何好的文章或博客文章?我看过,但我没有提出任何关于点的东西。
谢谢你的帮助。