Classificação de string numérica em uma caixa de listagem
Eu tenho um ListBox ao qual ItemSource está vinculado a umCollectionViewSource
. A fonte CVS é umXmlDataProvider
. Portanto, o ListBox lista todos os nós (atributo de nome) especificados. Agora esses nós têm atributos, e eu quero que o ListBox seja classificado por eles. O problema é que, como os dados subjacentes são xml, todo valor (atributos do nó) é uma sequência, mas alguns dos valores representam valores numéricos. Desde a classificação comCollectionViewSource.SortDescriptions.add (...)
classificará esses valores (string) em ordem alfabética, uma sequência de 2,10,5 será classificada como 10,2,5 em vez de 2,5,10. Como posso resolver isso
Se a solução estiver no CustomSort do ListView, alguém poderia me fornecer um exemplo rápido de como fazer isso com o XmlDocument subjacente?
Pensei que seria tão fácil quanto escrever uma classe que implemente o IComparer, mas de alguma forma estou perdida. Eu queria passar o nome do atributo para o método, para que eu pudesse "extrair" todos esses atributos do CVS, convertê-los em float (neste caso) e classificá-los com funções padrão ... Mas estou totalmente perdido sobre como esse CustomSort funciona para ser honesto ....
Espero que isso seja possível sem abandonar o XmlDocument, porque é um tipo de dado:)
Saudaçõe