Я недавно наткнулся на проблему, когда элемент управления WPF ListView
, судя по всему, ограничивает возможность сортировки своих элементов. В частности, у меня возникают большие проблемы с попыткой получить SortDescription
для распознавания вложенных свойств (свойств свойств).WPF ListView - сортировка по вложенным свойствам
Для прямого вперед сортировки по propreties, следующая строка должна сделать работу:
listView.Items.SortDescriptions.Add(new SortDescription("MyProperty",
ListSortDirection.Ascending));
И это действительно работает хорошо для меня. Однако, поскольку ItemSource
для моего ListView
является (строго типизированным) DataTable
, некоторые из столбцов привязаны к вложенным свойствам строки (т. Е. Row.OtherTableRow.SubProperty
стиль пути связывания) - это способ работы ADO.NET DataSets для иерархических баз данных.
То, что я хотел бы сделать что-то вроде этого:
listView.Items.SortDescriptions.Add(new SortDescription("MyProperty.SubProperty",
ListSortDirection.Ascending));
Но, к сожалению, линия бросает ArgumentException
:.
типа 'Заказы' не имеет свойство с именем «Row [ID ] ', поэтому не может сортировать сбор данных.
Как ни странно, у меня нет проблем с привязкой к вложенным свойствам. Действительно, поля отлично отображаются в ListView
... Также добавление PropertyGroupDescription
в listView.GroupDescriptions
не вызывает проблем с вложенными свойствами - это всего лишь SortDescriptions
!
Это ограничение только WPF/ListView
? Есть ли способ получить поддержку в рамках структуры, или мне не повезло? Если я к сожалению, и эта несогласованность неизбежна, я бы очень признателен, если кто-то может предложить взломать или обходной путь для этого сценария вложенных свойств. Я уже пробовал несколько идей, но все с минимальным успехом.
Примечание: Я понимаю, что ORM может решить мои проблемы, но я боюсь, что это не совсем возможно для текущего проекта, над которым я работаю. Простые ADO.NET DataSets должны будут делать.
Приветствия. Я могу просто взглянуть на эту книгу, если она хорошо описывает другие расширенные сценарии. :) – Noldorin