2

1 つの列が数値のテキスト表現を示す Silverlight Toolkit データグリッドがあります。列の基になる数値で並べ替えたいのですが、テキスト データをユーザーに提示します。グリッド列の値は、次のような形式です。

  • A カテゴリ (200-300)
  • 一部のカテゴリ (100-200)
  • さらに別のカテゴリ (300-400)

これらの値はテキストであるため、グリッドはテキストで正しくソートされていますが、数値カテゴリでこれらをソートできるカスタム Comparer があり、それをグリッドにプラグインしたいと考えています。

グリッド セルがバインドされているデータ オブジェクトには、テキスト表現しかありません (数値を簡単に追加する方法はありません)。したがって、この場合、SortMemberPath= は機能しません。

単一のグリッド列にカスタム比較子を挿入して並べ替えることは可能ですか? それとも、カスタム比較子を使用して CollectionViewSource を実装しますか? これは WPF ではなく Silverlight であるため、WPF と比較すると一部のフィールド/プロパティ/クラスが欠落していることに注意してください。

4

1 に答える 1

1

これを実現する最も簡単な方法は、グリッドにバインドするエンティティに 2 つのプロパティを追加することです。エンティティに保持したい 2 つのプロパティがない場合は、数値のみを保持し、コンバーターを使用してそれをテキストに変換し、SortMemberPath=NumericPropertyName にすることができます。

于 2012-05-28T06:48:34.700 に答える