Quiero especificar un orden predeterminado al inicio, pero todavía permitir que el usuario ordene haciendo clic en los encabezados de las columnas. Lamentablemente, la propiedad SortDirection se ignora cuando está configurada, es decir, obtenemos la flecha de encabezado de columna correcta, pero no se ordena nada.DataGrid SortDirection ignorado
Al hacer clic en los encabezados manualmente, ordena los datos correctamente, por lo que no es la clasificación en sí. Esta es la versión simplificada que estoy usando:
<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>
Actualización: También he intentado añadir a la SortDescriptions ICollectionView como se propone, sin buenos resultados. ¿Podría esto tener algo que ver con el hecho de que estoy agregando dinámicamente nuevos elementos a la colección? Es decir. al inicio, la lista está vacía y se llena lentamente y tal vez la clasificación se aplica solo una vez.
Probé con los dos 'datagrid.Items' y el ICollectionView real que estoy usando, pero los resultados son los mismos: negativo :( – Voo
Pensándolo bien: Tal vez esto algo que ver conmigo dinámicamente agregar nuevos elementos a la lista? – Voo
@Voo es posible que desee ver esto [MSDN Blog] (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ c943e22e-5fdf-469d-9e92-fa0167dc9d62) Guarde EssDeialy SortDescription y vuelva a aplicarlo para forzar un recurso. –