1

DataGridいくつかの列挙値を表示する列があります。SortMemberPathこれらの列挙値で表されるプロパティにを設定します。ただし、列ヘッダーをクリックすると、このタイプの並べ替え方法を指定していないため、列挙型で並べ替えられません。これは列挙型なので、< 演算子を正確にオーバーライドすることはできません。何か案は?

更新: 可能であれば、2 番目のプロパティを回避しようとしています。SortMemberPath = "MyEnumProperty" しか設定できません。その値をどのように解釈するかはわかりません。

_colDefs["Subtype"] = new DataGridTextColumn()
{       
    Binding = new Binding("") { Converter = new SubtypeConverter() },
    SortMemberPath = "Subtype"
};

私のプロパティは次のようになります。

public SubtypeEnum Subtype { get; set; }
4

2 に答える 2

1

ハードキャストだけで列挙型を int にキャストできます。

(int)MyEnum.EnumValue

列挙値を単に int に再キャストする偽のプロパティをデータ構造に追加できる場合は、表示されていなくても、そのプロパティで並べ替えることができるはずです。

于 2013-04-01T23:57:17.193 に答える