【发布时间】:2013-06-16 21:12:35
【问题描述】:
我有一个绑定到我的 ViewModel 集合的数据网格。它的一列具有非常特定于业务需求的值。在此列上,它可以包含字母数字字符。
例如,我可以有列值 A1、A20、AA、AA12、AAA。现在我想对这些值进行自定义排序,比如我希望字母最多的任何东西都应该排在第一位或等位。 DataGrid 有一个默认排序,但只进行正常排序。
我的问题是您将如何通过 MVVM 实现这一点?我们可以通过在后面的代码中订阅一个事件并重新安排整个集合来解决这个问题。但这不是我想要的,我正在寻找有关如何解决此问题的建议或解决方案。
我发现这个链接Sorting on datagrid column with binded data and converter 附加了一个DataGrid 的属性,但我想做的是附加一个属性,每次用户单击此列时都会更新。是否可以在 DataGrid 列中附加属性?
可能重复:Sorting on datagrid column with binded data and converter,但这不是使用 MVVM。
【问题讨论】:
-
问题,您的数据网格是否自动生成列?您是否使用 DataGridText 列?简短的回答是将列的排序路径设置为不显示的属性,它将根据您的自定义要求进行排序。但你没有提供足够的信息来告诉
-
感谢您的提问,我的列不是自动生成的,是的,我正在使用 DataGridText 列。
-
嗨,Garry,很抱歉我没有回复这个。如果您在我能够将其标记为答案之前重新发布您添加的解决方案。
-
您好,我已取消删除它。希望它能解决您的问题。如果没有,请大喊。
标签: c# wpf sorting mvvm datagrid