我正在开发一个基于 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
列表将被重新使用,并且绑定刷新,如上。重新排序将作为删除和插入的组合完成。
这是我的问题:这是实现插入、删除和重新排序的合理策略吗?有没有更好的方法来解决它?关于这个主题的任何好的文章或博客文章?我看过,但我没有提出任何关于点的东西。
谢谢你的帮助。