我有一个 ListBox,其中 ItemSource 绑定到CollectionViewSource
. CVS 源是一个XmlDataProvider
. 所以 ListBox 列出了我指定的所有节点(名称属性)。现在这些节点具有属性,我希望 ListBox 由它们排序。问题是,由于底层数据是 xml,每个值(节点的属性)都是一个字符串,但有些值表示数值。由于排序CollectionViewSource.SortDescriptions.add (...)
将按字母顺序对这些(字符串)值进行排序,因此 2,10,5 的序列将被排序为 10,2,5 而不是 2,5,10。我该如何解决这个问题?
如果解决方案存在于 ListView 的 CustomSort 中,有人可以为我提供一个快速示例,说明如何使用底层 XmlDocument 来实现这一点吗?
我认为这就像编写一个实现 IComparer 的类一样简单,但不知何故我迷路了。我想将属性的名称传递给方法,所以我可以从 CVS 中“提取”所有这些属性,将它们转换为浮点数(在这种情况下)并使用标准函数对它们进行排序......但我完全迷失了老实说,这个 CustomSort 是如何工作的......
希望这在不放弃 XmlDocument 的情况下是可能的,因为它是一种给定的 :)
问候