在WPF中以编程方式从DataGrid中删除排序箭头

本文关键字:删除 排序 DataGrid 方式 WPF 编程 | 更新日期: 2023-09-27 18:14:21

在我的WPF应用程序中,我有一个DataGrid,其中有一些列显示我的可排序数据。用户可以对他想要的任何列进行排序和子排序。

我添加了一个按钮,应该清除排序并使用MVVM模式将DataGrid返回到未排序的状态(这意味着该按钮绑定到ViewModel中的RelayCommand,这清除了DataGrid的数据源的SortDescriptions)

代码现在是这样的:

ViewModelLocator.MyViewModel.GroupedItems.SortDescriptions.Clear();
DataGrid的DataSourceGroupedItems对象(类型为ListCollectionView)。当我单击该按钮时,我看到DataGrid返回到其原始的、未排序的状态,但是,列标题中的排序箭头保持不变,好像DataGrid仍然是排序的。我如何以编程方式删除这些箭头?

在WPF中以编程方式从DataGrid中删除排序箭头

要移除DataGrid中的箭头,试试:

foreach (var column in dt.Columns)
{
    column.SortDirection = null;
}

其中dtDataGrid