Chcę określić domyślną kolejność przy uruchamianiu, ale nadal zezwalam użytkownikowi na sortowanie, klikając nagłówki kolumn. Niestety właściwość SortDirection jest ignorowana, gdy jest ustawiona - tzn. Otrzymujemy poprawną strzałkę nagłówka kolumny, ale nic nie jest sortowane.DataGrid SortDirection zignorowano
Kliknięcie nagłówków ręcznie powoduje prawidłowe sortowanie danych, więc nie jest to samo sortowanie. Jest to uproszczona wersja używam:
<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>
Aktualizacja: Próbowałem też dodanie SortDescriptions do ICollectionView jak zaproponowano, bez dobrych rezultatów. Czy to może mieć coś wspólnego z faktem, że dynamicznie dodawam nowe elementy do kolekcji? To znaczy. przy uruchomieniu lista jest pusta i powoli wypełniona, a może opis sortowania jest stosowany tylko raz?
Próbowałem zarówno z 'datagrid.Items' i aktualnym ICollectionView, którego używam, ale wyniki są takie same: negative :( – Voo
Po krótkiej myśli: Może to ma co zrobić ze mną dynamicznie dodając nowe pozycje do listy? – Voo
@Voo możesz chcieć spojrzeć na ten [Blog MSDN] (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ c943e22e-5fdf-469d-9e92-fa0167dc9d62) .Zapoznaj się z opcją sortDescription i zastosuj ponownie, aby wymusić ucieczkę –