Я работаю над MVP-приложением на основе MVVM, которое использует DataGrid
. Сетка привязана по данным к ObservableCollection<Widget>
(список Widget
). Пользователь должен иметь возможность вставить Widget
в список ниже выбранных Widget
, чтобы удалить выбранный Widget
и изменить порядок Widget
s на сетке. Я буду выполнять переупорядочение путем перетаскивания.Рекомендации по WPF DataGrid?
Прежде чем я вникаю в это, я хочу получить реальную проверку моего подхода. Вот что я планирую сделать: класс Widget
будет иметь свойство Index
, которое будет использовано для заказа списка Widget
. Дополнения, удаления и переупорядочения будут выполняться путем манипулирования этим свойством Index, и сортировка будет выполнена в списке Widget
, а не через CollectionView
.
Перед установкой DataContext
список Widget
будет отсортирован по значению Index
. Когда пользователь добавляет Widget
, свойство Index
будет увеличиваться на 1 для каждого Widget
ниже выбранного элемента в сетке, а новому Widget
будет присвоен номер индекса, открытый путем перенумерации. Список Widget
прибегает, и привязки будут обновлены.
Когда пользователь удаляет Widget
, то Widget
будет удален из списка, а Index
свойства элементов на сетке ниже удаляемый элемента будет уменьшаются на 1. Widget
списка будет прибег и привязки обновились , как указано выше. Переупорядочение будет выполняться как комбинация delete-and-insert.
Вот мой вопрос: Является ли это разумной стратегией для внедрения вставки, удаления и переупорядочения? Есть ли лучший способ сделать это? Любые хорошие статьи или сообщения в блогах по этому вопросу? Я посмотрел, но я ничего не придумал.
Благодарим за помощь.
Sory, это действительно не вопрос, который был задан. Я ищу отзыв о подходах, а не о сортировке данных. –