在C# WPF中,可以使用以下代码实现对DataGrid中的列进行编程排序:
首先,确保您的DataGrid中已经有一个数据源,例如一个绑定到ObservableCollection的ItemsSource。
然后,可以使用以下代码在代码中对DataGrid列进行排序:
// 获取列头
var column = dataGrid.Columns[columnIndex];
// 构建排序表达式
var sortExpression = column.SortMemberPath + " " + (column.SortDirection == ListSortDirection.Ascending ? "ASC" : "DESC");
// 排序数据
var collectionView = CollectionViewSource.GetDefaultView(dataGrid.ItemsSource);
collectionView.SortDescriptions.Clear();
collectionView.SortDescriptions.Add(new SortDescription(sortExpression, ListSortDirection.Ascending));
collectionView.Refresh();
上述代码首先获取DataGrid中的列头,然后根据列头的SortMemberPath和SortDirection属性构建一个排序表达式,最后使用CollectionView对数据进行排序。
需要注意的是,上述代码中的columnIndex应该是DataGrid中要排序的列的索引。如果您想要在代码中对多个列进行排序,可以使用类似的代码重复执行以上过程,只需将columnIndex替换为不同的索引即可。
希望这个代码片段能帮助到你。