【问题标题】:Sorting text column as numeric column WPF MVVM将文本列排序为数字列 WPF MVVM
【发布时间】:2014-04-09 15:46:55
【问题描述】:

我有一个绑定到模型集合的DataGrid。我的模型有一个名为Position 的字符串属性,它是字符串类型,但包含一个整数值。

我的问题是,当排序此列值时,排序为1, 10, 2 而不是1, 2, 10

有没有办法处理这种 MVVM 风格而不在代码隐藏中处理 DataGridSorting 事件? 请记住,我无法更改属性的类型。

【问题讨论】:

  • 在模型中添加int PositionNumber {get { return int.Parse(Position); } } 属性并使用它。
  • @HighCore 我有不止一个属性具有这种行为,我正在寻找更通用的解决方案

标签: c# wpf sorting mvvm datagrid


【解决方案1】:

如果您不想在代码隐藏中执行此操作,我认为您将需要自定义排序行为,如此 SO 帖子中所示...

https://stackoverflow.com/a/18218963/1246574

我知道您说过您不想破坏 MVVM,因此您不想在代码隐藏中处理排序事件。即便如此,如果其他人想知道如何做到这一点,这篇 SO 帖子展示了如何......

https://stackoverflow.com/a/2130557/1246574

【讨论】:

  • 附加的行为似乎是我正在寻找的。我会检查并报告回来。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 2018-09-06
相关资源
最近更新 更多