Desidero specificare un ordinamento predefinito all'avvio, ma consentire comunque all'utente di ordinare facendo clic sulle intestazioni delle colonne. Purtroppo la proprietà SortDirection viene ignorata quando viene impostata, ad esempio la freccia dell'intestazione della colonna corretta, ma nulla viene ordinato.DataGrid SortDirection ignorato
Fare clic sulle intestazioni manualmente, ordina i dati correttamente, quindi non è l'ordinamento stesso. Questa è la versione semplificata che sto utilizzando:
<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>
Update: Ho anche provato ad aggiungere SortDescriptions al ICollectionView come proposto, senza buoni risultati. Questo potrebbe avere qualcosa a che fare con il fatto che sto aggiungendo in modo dinamico nuovi elementi alla collezione? Cioè all'avvio l'elenco è vuoto e lentamente riempito e forse la descrizione del tipo viene applicata solo una volta?
Provato che entrambi con 'datagrid.Items' e l'attuale ICollectionView che sto usando, ma i risultati sono entrambi uguali: negativo :( – Voo
Ripensandoci: forse questo ha qualcosa a che fare con me aggiungendo dinamicamente nuovi elementi alla lista? – Voo
@Voo potresti voler dare un'occhiata a questo [blog MSDN] (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ c943e22e-5fdf-469d-9e92-fa0167dc9d62) Essentialy salva SortDescription e lo riapplica per forzare un resort –