您可以在自动排序DataGrid中更改列的初始排序方向吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了您可以在自动排序DataGrid中更改列的初始排序方向吗?相关的知识,希望对你有一定的参考价值。

我们有一个DataGrid,它显示一列只读复选框,绑定到ViewModel中的属性。我们在DataGrid中启用了排序,它按预期工作;当您单击列的标题并对该列进行排序时。再次单击它,排序相反,每次用户单击同一列时切换。

我们遇到的问题是,当用户单击复选框列时,初始排序顺序为升序,将所有未检查的行放在第一位,而我们首先要检查所有已检查的行。换句话说,我们希望初始排序顺序(即,当您第一次单击该列时)为降序,而不是升序。

注意:这纯粹是在UI中,特别是在DataGrid本身内。它不是ViewModel的一部分,所以我们不能在那里改变任何东西。

那么如何更改列的初始排序方向呢?

答案

通过将CollectionView与DataGrid一起使用,您可以实现自定义排序。这将允许您指定所需的默认排序,而无需使用反向属性值。以下是一些基本示例的链接:https://msdn.microsoft.com/en-us/library/ff407126%28v=vs.110%29.aspx

以上是关于您可以在自动排序DataGrid中更改列的初始排序方向吗?的主要内容,如果未能解决你的问题,请参考以下文章

禁用 WPF MVVM 中 DataGrid 中自动生成的列的排序

如何在Datagrid中更改列标题排序图像?

在应用程序的 creationComplete (Flex 4.5) 上设置 Spark DataGrid 列的默认排序

dojo datagrid 将在更改排序时使页面“跳转”

有界数据更改后重新排序 WPF DataGrid

WPF 中的 Datagrid - 1 列默认排序