我似乎无法找到一种方法来指定它首先对组名进行排序,然后是列。我正在使用DataGrid。
编辑:我的错误,我使用的是DataGrid,而不是网格。
答案 0 :(得分:2)
网格不是数据控件(如DataGrid),所以除了手动排序然后逐个添加其他项目之外,实际上没有干净的方法。
您需要将Grid视为HTML Table标记的XAML版本。
编辑(OP从Grid更改为DataGrid,添加以下内容):
内置了对DataGrid进行排序的支持,用于对实现IList
接口的任何集合进行排序。如果你正在使用AutoGenerateColumns
,那就是它。但这并不是你想要做的事情。
听起来你正在尝试以编程方式进行。您需要做的是设置列的SortMemberPath
。如果您手动创建列,它只是列上的属性。如果您正在使用自动生成,则可以在AutoGeneratingColumn
事件中执行此操作。
如果您也在XAML中手动创建列,可以在XAML中执行此操作,只需设置列的属性。
请记住,这些只是在DataGrid中进行排序的一般说明。对于您正在询问的更复杂的排序,您需要对正在使用的数据源进行排序,即您将网格绑定到的集合。
我不确定你的意思是“首先是小组名,然后是专栏”。您是否将组名称作为默认排序,然后根据用户需要进行列分类?如果是这样,这些说明应该有帮助。如果没有,我不确定你的意思。