wpf以编程方式设置排序,以便将标头切换为已排序

Cin*_*ird 9 c# sorting wpf datagrid sortdirection

我有一个wpf工具包的问题DataGrid.

我有ItemsSource三列:

名字

地址

在C#代码隐藏中,我设置了排序方向以及要对其进行排序的列,如下所示:

ICollectionView view = CollectionViewSource.GetDefaultView(dataGrid1.ItemsSource);
view.SortDescriptions.Clear();
view.SortDescriptions.Add(new SortDescription("LastName", ListSortDirection.Ascending));
view.Refresh();
Run Code Online (Sandbox Code Playgroud)

实际排序没有问题,但标题中有视觉风格.如果用户通过单击标题对列进行排序,则视觉样式会更改,但视觉样式不表示以编程方式设置列排序描述.

为什么会这样,我如何切换标题以使其显示为已排序?

Chr*_*l52 13

我之前没有尝试过,但我认为你可以设置列的SortDirection属性.

            int columnIndex = 0;
            this.dataGrid1.ColumnFromDisplayIndex(columnIndex).SortDirection = 
                ListSortDirection.Descending;
Run Code Online (Sandbox Code Playgroud)