c# - wpf 以编程方式设置排序,以便将标题切换为已排序

标签 c# wpf sorting 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();

实际排序没有问题,但标题视觉样式有问题。如果用户通过单击标题对列进行排序,则视觉样式会发生变化,但视觉样式并不表示列排序说明是以编程方式设置的。

为什么会这样,我怎样才能切换标题使其显示为已排序?

最佳答案

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

            int columnIndex = 0;
            this.dataGrid1.ColumnFromDisplayIndex(columnIndex).SortDirection = 
                ListSortDirection.Descending;

关于c# - wpf 以编程方式设置排序,以便将标题切换为已排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3343982/

相关文章:

javascript - MVC Ajax 对带参数的 Controller 方法的调用已连接,但参数值为 null

C++ : 2-D Pointer Array Sorting: Selection Sort doesn't work for certain instance

c# - 工具提示编码问题

c# - 如何在 RavenDB 中查询包含指定类型的嵌套对象的文档

c# - Microsoft Graph API 重定向成功,但 Request.Authentication=false

Wpf 动画最佳实践

c# - 列表框中的 WPF 数据模板多态性

c# - 全选事件 : WPF Datagrid

PHP Order数组基于元素依赖

c++ - std::sort() 不适用于成对 vector