Как я могу получить уведомление, если столбец DataGrid сортируется (а не сортируется)

Мне нужно иметь своего рода событие Sorted для DataGrid ] в приложении WPF, но не может найти способ его получить.

Вот что я пробовал:

DataGrid предоставляет событие Sorting , но я не могу его использовать, поскольку он запускается до завершения сортировки. EventArgs дает мне столбец, который отсортирован, но не способ сортировки, и если я получаю направление сортировки, оно устанавливается на старое значение. Конечно, я мог догадаться, что это будет, поскольку я знаю, что он переключается с нуля на возрастание и, наконец, на спуск, но это не было бы решением, так как он потерпит неудачу, если поведение элемента управления изменится.

Вторая попытка:

DataGrid имеет представление по умолчанию, которое обеспечивает доступ к SortDescriptionCollection . Эта коллекция содержит все свойства сортировки, но я не вижу возможности сообщить мне об изменениях.

Я должен сказать, что я ищу решение как можно более чистое, поскольку оно будет использоваться в большом проекте, в котором я не могу использовать решения, которые могут потерпеть неудачу при изменении среды.

Кто-нибудь знает по опыту (или документации?), Как я могу решить эту проблему?

Редактировать: Чтобы более четко прояснить, чего я хочу достичь: мне нужно узнать, какой DataGrid столбец сортируется в каком направлении, когда пользователь сортирует столбец. Необязательно, чтобы эта информация приходила после самой сортировки, она просто должна быть верной;)

5
задан MatthiasG 7 December 2011 в 14:34
поделиться