ItemSourceがバインドされているListBoxがありCollectionViewSource
ます。CVSソースはXmlDataProvider
です。したがって、ListBoxには、指定したすべてのノード(名前属性)が一覧表示されます。これらのノードには属性があり、ListBoxをそれらでソートする必要があります。問題は、基になるデータがxmlであるため、すべての値(ノードの属性)が文字列ですが、一部の値は数値を表していることです。で並べ替えると、CollectionViewSource.SortDescriptions.add (...)
これらの(文字列)値がアルファベット順に並べ替えられるため、2,10,5のシーケンスは、2,5,10ではなく10,2,5として並べ替えられます。どうすればこれを解決できますか?
解決策がListViewのCustomSortにある場合、基礎となるXmlDocumentを使用してこれを行う方法の簡単な例を教えてください。
IComparerを実装するクラスを書くのと同じくらい簡単だと思いましたが、どういうわけか私は迷子になりました。属性の名前をメソッドに渡したかったので、CVSからすべての属性を「抽出」し、それらをfloat(この場合)に変換して、標準関数で並べ替えることができました...しかし、私は完全に失われましたこのCustomSortが正直にどのように機能するかについて...
XmlDocumentを捨てることなくこれが可能であることを願っています、なぜならそれは一種の与えられたものだからです:)
よろしく