Я пытаюсь создать пользовательский элемент управления, который имеет следующие функции:
1.Горизонтальный список, поддерживаемый listcollectionview и, в конечном счете, ObservableCollection.
2.Каждый из элементов списка имеет несколько свойств, которые можно использовать для фильтрации и сортировки, например, имя, дата и т.д.
3.Фильтр или правило сортировки могут применяться мгновенно или непрерывно.
а.Непрерывно: правило применяется, когда элементы редактируются, добавляются или удаляются.
б.Мгновенно: правило применяется один раз, но этот порядок сохраняется как элементы или редактируется.Это означает, что добавляемые элементы могут быть по индексу выбора пользователей.В непрерывном случае они, очевидно, имели бы индекс, определяемый правилами сортировки / фильтрации.
4.Когда непрерывный фильтр не применяется, элементы должны быть переупорядочены с помощью перетаскивания.
Это изначально выглядело как задание для коллекционного представления, поскольку оно позволяет легко выполнять фильтрацию деталей для непрерывного случая с использованием IEditableObject..
У меня есть поведение для переупорядочения с помощью перетаскивания, которое отлично работает, когда я редактирую базовую коллекцию при перетаскивании.Я не могу отредактировать представление коллекции, поместив элемент в индекс, поэтому его поведение не совсем мне нужно.Кроме того, я действительно не хочу редактировать основную коллекцию, так как упорядочивание является чисто пользовательским интерфейсом, и базовая коллекция может использоваться в нескольких коллекциях.
Так что в пункте 4 я действительно застрял.У меня достаточно вопросов, сообщений и блогов на эту тему, чтобы у меня закружилась голова, и я уверен, что я либо упускаю что-то очевидное, либо это просто невозможно без наследования из коллекции или тому подобного.
Любой удар в нужном направленииоценили.
Спасибо