Вы можете подключиться к событию:
dataGrid.AutoGeneratedColumns += dataGrid_AutoGeneratedColumns;
и отсортировать первый столбец:
void dataGrid_AutoGeneratedColumns(object sender, EventArgs e)
{
var firstCol = dataGrid.Columns.First();
firstCol.SortDirection = ListSortDirection.Ascending;
dataGrid.Items.SortDescriptions.Add(new SortDescription(firstCol.SortMemberPath, ListSortDirection.Ascending));
}
Я бы предложил вам создать отдельный производный элемент управления DataGrid
, поместив эту логику туда и используя новый элемент управления, чтобы избежать повторения кода каждый раз.
public class CustomDataGrid : DataGrid
{
public DynamicDataGrid()
{ ... }
...
}