我使用ListBox
的{{1}}值填充Description
。它们以Enum
的索引顺序显示,但我希望它们按描述排序。所以我在Enum
添加了SortDescription
,但它不起作用。
ListBox
我还尝试向ObjectDataProvider odp = new ObjectDataProvider()
{
IsInitialLoadEnabled = false,
MethodName = "GetValues",
ObjectType = typeof(Enum),
};
odp.MethodParameters.Add(this.EnumType);
odp.Refresh();
Binding b = new Binding() { Source = odp };
listBox.SetBinding(ListBox.ItemsSourceProperty, b);
listBox.Items.SortDescriptions.Add(new SortDescription());
添加一个属性名称,但我不知道哪一个(我尝试了'Value'和'Description')。
将SortDescription
包裹在ObjectDataProvider
中并对该集合进行排序也无济于事。
有解决方法吗?
答案 0 :(得分:1)
ObjectDataProvider
的目的是什么,如果您的绑定是在代码中?
var sortedValues = Enum.GetValues(typeof(MyEnum))
.Cast<MyEnum>()
.OrderBy(v => v.ToString())
.ToArray();
Binding b = new Binding() { Source = sortedValues };