Я хочу указать порядок по умолчанию при запуске, но все же разрешить пользователю сортировать, нажимая на заголовки столбцов. К сожалению, свойство SortDirection игнорируется при его установке - то есть мы получаем правильную стрелку заголовка столбца, но ничего не сортируется.
Нажатие на заголовки вручную, сортирует данные правильно, так что это не сама сортировка. Это упрощенная версия, которую я использую:
<DataGrid ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=CurrentView}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Header 1" Binding="{Binding ApplicationName}"/>
<DataGridTextColumn Header="Header 2"
Binding="{Binding TotalTime}" SortDirection="Descending"/>
</DataGrid.Columns>
</DataGrid>
Обновление: я также попытался добавить SortDescription в ICollectionView, как было предложено, без хороших результатов. Может ли это быть связано с тем, что я динамически добавляю новые элементы в коллекцию? То есть при запуске список пуст и медленно заполняется, а может быть, сортировка описывается только один раз?