Мне нужно иметь своего рода событие Sorted
для DataGrid
] в приложении WPF, но не может найти способ его получить.
Вот что я пробовал:
DataGrid
предоставляет событие Sorting
, но я не могу его использовать, поскольку он запускается до завершения сортировки. EventArgs
дает мне столбец, который отсортирован, но не способ сортировки, и если я получаю направление сортировки, оно устанавливается на старое значение. Конечно, я мог догадаться, что это будет, поскольку я знаю, что он переключается с нуля на возрастание и, наконец, на спуск, но это не было бы решением, так как он потерпит неудачу, если поведение элемента управления изменится.
Вторая попытка:
DataGrid
имеет представление по умолчанию, которое обеспечивает доступ к SortDescriptionCollection
. Эта коллекция содержит все свойства сортировки, но я не вижу возможности сообщить мне об изменениях.
Я должен сказать, что я ищу решение как можно более чистое, поскольку оно будет использоваться в большом проекте, в котором я не могу использовать решения, которые могут потерпеть неудачу при изменении среды.
Кто-нибудь знает по опыту (или документации?), Как я могу решить эту проблему?
Редактировать: Чтобы более четко прояснить, чего я хочу достичь: мне нужно узнать, какой DataGrid
столбец сортируется в каком направлении, когда пользователь сортирует столбец. Необязательно, чтобы эта информация приходила после самой сортировки, она просто должна быть верной;)